zoukankan      html  css  js  c++  java
  • 【8】jQuery学习——入门jQuery选择器之过滤选择器子元素过滤选择器

    这次我们来学习下-子元素过滤器,看了下其他网站的实例都是用ul做例子,不知道这个子元素过滤是不是同样适合ol、dl这样的列表型的标签,还是其他的标签也行,这个子元素要怎么来算呢?谁来说说?

    好了,也不纠结了,下面来看看这4个子元素过滤器吧。

    选择器 描述 返回
    $("Element:nth-child(index/even/odd/equation)") 选取每个父元素下的第index个子元素或者奇偶元素 集合元素
    $("Element:first-child") 选取每个父元素的第一个子元素 集合元素
    $("Element:last-child") 选取每个父元素的最后一个子元素 集合元素
    $("Element:only-child") 如果某个元素是它父元素中唯一的子元素,那么将会被匹配。如果父元素中含有其他元素,则不会被匹配 集合元素

    下面分别来说下这4个选择器

    =============================================================================

    :nth-child() 过滤选择器的功能如下:

    选择每个父级下的第N(index)个子级元素或者奇偶元素,(index)索引从1开始,而eq函数(eq函数会在后面学习到)从0开始,只匹配一个元素。
            ┣━:nth-child(2)索引:         选取每个父元素下的索引值为2的元素
            ┣━:nth-child(even)偶数:    由于index是从1开始的,所以这里取得的索引值为偶数的元素,实际上就是我们正常的偶数了
            ┣━:nth-child(odd)奇数:     由于index是从1开始的,所以这里取得的索引值为奇数的元素,实际上就是我们正常的奇数了
            ┣━:nth-child(3n)表达式:    选取每个父元素下的索引值为3的倍数的元素,(n从0开始)
            ┣━:nth-child(3n+1)表达式:选取每个父元素下的索引值为(3n+1)的元素,(n从0开始)
            ┗━:nth-child(3n+2)表达式:能选取每个父元素下的索引值为(3n+2)的元素,(n从0开始)

    jQuery在实现:nth-child(n)是严格来自CSS规范,而不是遵循JavaScript的“0索引”的计数,所以从1开始计数;
    对于表达式n为什么会从0开始呢?自己带0算算就知道了:nth-child(3n)=:nth-child(3*0)=:nth-child(0),这样算下,还真是获取不到元素的,然后大家就应该能明白了为什么要从0开始了。

    ==============================================================================

    :first-child 过滤选择器的功能如下:

    :first-child选择符将为每个父元素匹配第1个子元素。例如$("ul li:first-child")选取的是每个<ul>中第1个<li>

    :first只返回单个元素

    ==============================================================================

    :last-child 过滤选择器的功能如下:

    :last-child选择符将为每个父元素匹配第1个子元素。例如$("ul li:last-child")选取的是每个<ul>中最后1个<li>

    :last只返回单个元素

    ==============================================================================

    :only-child 过滤选择器的功能如下:

    这个要给个列子说明下才行

    <ul>
      <li>1</li>
      <li>2</li>
      <li>3</li>
    </ul>
    <ul>
      <li>one</li>
    </ul>
    

     jQuery获取代码:

    $("ul li:only-child")
    

     结果是:<li>one</li>,因为这个ul下只有他一个li,而它上面那个ul有3个li,不具有唯一子元素。

    ==============================================================================

    ps.文章参考梦三秋和w3cfuns网站

  • 相关阅读:
    自适应网页设计(Responsive Web Design)(转)
    PAT 1062 最简分数(20)(代码+思路)
    PAT 1059 C语言竞赛(20)(代码+思路)
    PAT 1058 选择题(20)(代码+思路)
    PAT 1057 数零壹 (20)(代码+思路)
    PAT 1054 求平均值 (20)(代码+思路+测试用例)
    PAT 1053 住房空置率 (20)(代码+思路)
    PAT 1052 卖个萌 (20)(代码+思路)
    PAT 1048 数字加密(20)(代码+思路)
    PAT 1047 编程团体赛(代码)
  • 原文地址:https://www.cnblogs.com/huige728/p/2630431.html
Copyright © 2011-2022 走看看