为了更轻易对 DOM
元素操纵,jQuery
供应了完全的挑选符系统,能够分为 CSS
挑选符、属性挑选符以及自定挑选符。
CSS 挑选符
jQuery
险些支撑 CSS1
到 CSS3
范例中的一切挑选符。举例以下:
<ul id="myUl">
<li>A</li>
<li>B</li>
<li>C</li>
<div>D</div>
</ul>
为了给 id
为 myUl
的 ul
元素下直接 li
元素增加款式,我们能够如许写:
$(document).ready(function() {
$('#myUl > li').addClass('xxx');
});
当在
jQuery
中运用$(document).ready(function() {})
时,位于个中的一切代码都会在DOM
加载后马上实行。我们也能够简写为:$(function() {})
。
关于 CSS
挑选符的内容,能够参考这个手册 – 《CSS 挑选器参考手册》
属性挑选符
属性挑选符是 jQuery
中很有效的一类挑选符,即经由过程 DOM
元素的属性来挑选特定的元素。比方 a
标签的 href
属性。
<a href="http://segmentfault.com/">Segmentfault</a>
<a href="http://www.baidu.com/">Baidu</a>
关于上例两个 a 标签,我们愿望挑选 segmentfault 举行操纵,而不是 baidu,那末我们能够经由过程属性挑选符来操纵:
$('a[href="http://segmentfault.com/"]')
为了简化操纵,属性挑选符还从正则内里自创了一些语法过来:
-
^
示意值在字符串的最先 -
$
示意值在字符串的末端 -
*
示意要婚配的值能够出如今字符串中的恣意位置 -
!
示意对值取反
那末上述的属性挑选符的操纵我们就能够简化为:
$('a[href*="segmentfault"]')
一样能够获得链接为 segmentfault
的 a
标签。
自定义挑选符
除了上述的挑选符外,jQuery
还增加了独占的自定义挑选符,在引见自定义挑选符前,须要申明一点:
与原生的
DOM
挑选符比拟,自定义挑选符在机能方面是表现较差的,因而如果能运用原生的要领,只管不要频仍运用自定义挑选符,从而保证机能。
自定义挑选符的运用有点像 CSS
中的伪类,即先运用一个冒号 (:
),然后再写细致的内容。一样举例申明:
<ul id="myUl">
<li>ALI</li>
<li>BLI</li>
<li>CLI</li>
</ul>
此时,我们愿望获得内容为 A
的 li
元素,我们能够如许操纵:
$('li:eq(0)')
因为
Javascript
的数组是从0
最先计数,所以第一个元素用0
取。
引见个比较有效的自定义挑选符 – contain
挑选符。
依然是上例,如今我们愿望获得内容中含有 C
的元素,能够如许写:
$('li:contains(C)')