细说 jQuery 元素篇(二) - 选择符

为了更轻易对 DOM 元素操纵,jQuery 供应了完全的挑选符系统,能够分为 CSS 挑选符、属性挑选符以及自定挑选符。

CSS 挑选符

jQuery 险些支撑 CSS1CSS3 范例中的一切挑选符。举例以下:

<ul id="myUl">
  <li>A</li>
  <li>B</li>
  <li>C</li>
  <div>D</div>
</ul>

为了给 idmyUlul 元素下直接 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"]')

一样能够获得链接为 segmentfaulta 标签。

自定义挑选符

除了上述的挑选符外,jQuery 还增加了独占的自定义挑选符,在引见自定义挑选符前,须要申明一点:

与原生的 DOM 挑选符比拟,自定义挑选符在机能方面是表现较差的,因而如果能运用原生的要领,只管不要频仍运用自定义挑选符,从而保证机能。

自定义挑选符的运用有点像 CSS 中的伪类,即先运用一个冒号 (:),然后再写细致的内容。一样举例申明:

<ul id="myUl">
  <li>ALI</li>
  <li>BLI</li>
  <li>CLI</li>
</ul>

此时,我们愿望获得内容为 Ali 元素,我们能够如许操纵:

$('li:eq(0)')

因为 Javascript 的数组是从0最先计数,所以第一个元素用0取。

引见个比较有效的自定义挑选符 – contain 挑选符。
依然是上例,如今我们愿望获得内容中含有 C 的元素,能够如许写:

$('li:contains(C)')

参考

http://book.douban.com/subject/24669823/

    原文作者:StephenLee
    原文地址: https://segmentfault.com/a/1190000000518798
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞