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网站

  • 相关阅读:
    pygame “音乐盒”---- 播放一首歌& 点击对话框后背景以及对话框大小改变
    虚拟机VMware里 windows server 2003 扩充C盘方法
    pygame简单动态图 & 动态图片的移动
    用C++ 自娱自乐
    Linux学习笔记----(2)
    Linux学习笔记--(1)
    JSON.stringify语法解析(自己留存)
    css 框架——base.css,作用是重设浏览器默认样式和提供通用原子类。自己留存
    div里嵌套了img底部会有白块问题和图片一像素问题解决
    全面解析Linux数字文件权限
  • 原文地址:https://www.cnblogs.com/huige728/p/2630431.html
Copyright © 2011-2022 走看看