jQuery 选择器与简单DOM操作
之所以选择jquery进行dom操作确实是因为它的选择器非常强大,相比于传统的客户端js里的document对象选取方式更加灵活。而且在DOM的各种操作上面功能也十分健全,所有的操作都从一个小小的$()函数开始!
选择器语法
如果熟悉CSS的话那这部分应该比较轻松,jQuery的选择器语法与css中的选择器非常相似,使用$()函数进行选择,最后返回的是一个jQuery对象的列表。
基本的整个页面的选择器
1 | $("p") // 选取页面中所有的<p>元素 |
进一步,用空格隔开可以得到子元素
1 | $("ul li") // 选取ul元素下的所有的li子元素 |
上面介绍的是一些比较基础和实用的技术,起码我觉得一些比较简单的页面进行一些简单的组合就差不多了,实在不行的话就指定id吧,这个最简单了。
如果还希望了解更多,可以访问w3school的jQuery选择器参考手册,或者jQuery的官方文档Selectors。
属性值操作
使用上面的选择器得到jQuery对象后,我们就能对dom元素的属性进行操作了。
最常用的是attr方法,css方法,text方法,html方法等等。
这些方法有一个特点,如果你给出一个参数,则它可以得到对应的属性值,如果再多给一个参数,则可以设置对应的属性值。也就是说它们既是getter又是setter。
1 | $('#icon').attr('src') // 取得id为icon的标签的src属性值 |
css()的用法与attr类似,这里就不再赘述了。值得一提的是html函数与text函数的区别,html函数是设置html文本,也就是说文本是html格式,如果是text函数,设置的就是纯文本。如果你把用户的输入用html的方式输入元素中,很容易就造成XSS攻击了呦;)
DOM操作
生成一个DOM节点
非常简单,直接写HTML就行了。
1 | $('<a href="http://xxx.xx">Click</a>') // 生成一个a标签的节点 |
这样直接能得到一个jQuery对象。
将其插入文档中
可以使用append或者appendTo,append是参数追加到调用者的后面,appendTo是调用者追加到参数后面。
1 | div = $('div') |
删除元素
删除可以使用remove删除一个元素或者empty清空整个节点,大家可以自己试一试,非常容易掌握。
详细内容可以参考jQuery官方手册Manipulation
小结
使用jQuery操控DOM方便快捷,只需要对HTML和CSS有一些简单的了解,不需要精通Javascript也可以很好地写出动态代码。不愧是最优秀的前端类库之一。有了它,可以把什么document.getElementById扔到博物馆去了。