过滤性选择器

过滤选择器,该类型的选择器是根据某过滤规则进行元素的匹配,书写时以“:”号开头,通常用于查找集合元素中的某一位置的单个元素。

1. :first过滤选择器

在jQuery中,如果想得到一组相同标签元素中的第1个元素该怎样做呢?

在下面的示例代码中你可能注意到我们会使用

$(“li:first”)

注意:书写时以“:”号开头。

<body>
    <div>
        改变第一行的“橘子”文字颜色:
    </div>
    <ul>
        <li>橘子</li>
        <li>香蕉</li>
        <li>葡萄</li>
        <li>苹果</li>
        <li>西瓜</li>
    </ul>
</body>
<script type = "text/javascript">
    $("li:first").css("color", "red");
</script>

使用li:first过滤选择器可以很方便地获取ul列表中的第一个li元素.

:first过滤选择器的功能是获取第一个元素,常常与其它选择器一起使用,获取指定的一组元素中的第一个元素。

2. :eq(index)过滤选择器

如果想从一组标签元素数组中,灵活选择任意的一个标签元素,我们可以使用

:eq(index)

其中参数index表示索引号(即:一个整数),它从0开始,如果index的值为3,表示选择的是第4个元素。例如:

<body>
    <div>
        改变第一行的“橘子”文字颜色:
    </div>
    <ul>
        <li>橘子</li>
        <li>香蕉</li>
        <li>葡萄</li>
        <li>苹果</li>
        <li>西瓜</li>
    </ul>
</body>
<script type = "text/javascript">
    $("li:eq(3)").css("color", "red");
</script>

通过调用$(“li:eq(3)”)过滤选择器代码,获取了第4个

  • 元素,并使用css()方法设置了该元素在页面中显示的文字样式。
    1. :contains(text)过滤选择器

      与上一节介绍的:eq(index)选择器按索引查找元素相比,有时候我们可能希望按照文本内容来查找一个或多个元素,那么使用:contains(text)选择器会更加方便, 它的功能是选择包含指定字符串的全部元素,它通常与其他元素结合使用,获取包含“text”字符串内容的全部元素对象。其中参数text表示页面中的文字。

      例如:

    <body>
        <div>
            改变包含“土豪”字符内容的颜色:
        </div>
        <ul>
            <li>我是土豪一族</li>
            <li>我是手机一族</li>
            <li>“土豪”就是我</li>
            <li>我是奋斗一族</li>
            <li>土族我最爱</li>
        </ul>
    </body>
    <script type = "text/javascript">
        $("li:contains(‘土豪‘)").css("color", "red");
    </script>

    调用li:contains(‘土豪’)代码,可以很方便地获取

  • 中包含‘土豪’字符内容的全部元素,并且只要与选择的元素中或子元素中包含该字符内容,就可以被选中。
  • 注意:li:contains(‘土豪’) 土豪为什么必须加单引号呢?因为它是一个字符串,而不是一个变量,所以不加单或双引号的话是会报错的。

    1. :has(selector)过滤选择器

      除了在上一小节介绍的使用包含的字符串内容过滤元素之外,还可以使用包含的元素名称来过滤,:has(selector)过滤选择器的功能是获取选择器中包含指定元素名称的全部元素,其中selector参数就是包含的元素名称,是被包含元素。

      例如:获取指定包含某个元素名的全部

    2. 元素,并改变它们显示文字的颜色:
    <body>
        <div>
            改变包含“p”元素的颜色:
        </div>
        <ul>
            <li><p>我是P先生</p></li>
            <li><span>S女生就是我</span></li>
            <li><p>我也是P先生</p></li>
            <li><label>我是L妹纸</label></li>
            <li><p>P先生就是我哦</p></li>
        </ul>
    </body>
    <script type = "text/javascript">
        $("li:has(‘p‘)").css("color", "red");
    </script>

    通过使用$(“li:has(‘p’)”)选择器代码,获取了包含

    元素的全部

  • 元素,并通过css方法改变了这些元素在页面中显示的文字样式。

    5. :hidden过滤选择器

    :hidden过滤选择器的功能是获取全部不可见的元素,这些不可见的元素中包括type属性值为hidden的元素。

    例如,调用:hidden选择器获取不可见的

    元素,并将该元素的内容显示在

    元素中:

  • <body>
        <p>我是P先生</p>
        <p style="display: none">我是一个隐藏的P先生</p>
        <div></div>
    </body>
    <script type = "text/javascript">
        var $strHTML = $("p:hidden").html();
        $("div").html($strHTML);
    </script>
    ```先调用$("p:hidden")代码获取隐藏的<p>元素,并调用该元素的html()方法获取该元素中的内容,最后将该内容显示在<div>元素中。
    
    6. :visible过滤选择器
    与上一节的:hidden过滤选择器相反,:visible过滤选择器获取的是全部可见的元素,也就是说,只要不将元素的display属性值设置为“none”,那么,都可以通过该选择器获取。
    例如,使用:visible选择器获取可见的<p>元素,并将该元素的内容显示在<div>元素中:
    
    <div class="se-preview-section-delimiter"></div>
    

    这里写代码片

    “`

    从图中可以看出,调用$(“p:visible”)选择器代码,获取那个可见的

    元素,并调用html()方法获取该元素的内容,最后将该内容显示在

    元素中。

      7.

    [attribute=value]属性选择器

    属性作为DOM元素的一个重要特征,也可以用于选择器中,从本节开始将介绍通过元素属性获取元素的选择器,[attribute=value]属性选择器的功能是获取与属性名和属性值完全相同的全部元素,其中[]是专用于属性选择器的括号符,参数attribute表示属性名称,value参数表示属性值。

    例如,使用[attribute=value]属性选择器,获取指定属性名和对应值的全部

  • 元素,并设置它们显示的文字颜色,如图所示:
  • 在浏览器中显示的效果:

    从图中可以看出,使用$(“li[title=’我最爱’]”)属性选择器代码,获取了2个

  • 元素,并调用css()方法设置它们在页面中显示的文字颜色,另外,属性值中的‘’单引号可以不写,由于属性名与属性值是等号,因此,它们之间不是包含关系,而是完全相同。
    1. 8.

    [attribute!=value]属性选择器

    与上一节介绍的[attribute=value]属性选择器正好相反,[attribute!=value]属性选择器的功能是获取不包含属性名,或者与属性名和属性值不相同的全部元素,其中[]是专用于属性选择器的括号符,参数attribute表示属性名称,value参数表示属性值。

    例如,使用[attribute!=value]属性选择器,获取指定不包含属性名,或与属性名和对应值不同的全部

  • 元素,并设置它们显示的文字颜色,如图所示:
  • 在浏览器中显示的效果:

    可以看出,使用$(“li[title!=’我最爱’]”)属性选择器代码,获取了3个

  • 元素,其中一个是不包含title属性名,另外两个的title属性值不等于“我最爱”,获取元素后并调用css()方法设置这些元素在页面中显示的文字颜色。
    1. 9.

    [attribute*=value]属性选择器

    介绍一个功能更为强大的属性选择器[attribute*=value],它可以获取属性值中包含指定内容的全部元素,其中[]是专用于属性选择器的括号符,参数attribute表示属性名称,value参数表示对应的属性值。

    例如,使用[attribute*=value]属性选择器,获取属性值中包含某一指定内容的全部

  • 元素,并设置它们显示的文字颜色,如下图所示:
  • 在浏览器中显示的效果:

    从图中可以看出,使用$(“li[title*=’最’]”)属性选择器代码,获取了3个

  • 元素,这些元素的title属性值中都包含了“最”字符,获取这些元素后并调用css()方法设置这些元素在页面中显示的文字颜色。
  • 10.

    :first-child子元素过滤选择器

    通过上面章节的学习,我们知道使用:first过滤选择器可以获取指定父元素中的首个子元素,但该选择器返回的只有一个元素,并不是一个集合,而使用:first-child子元素过滤选择器则可以获取每个父元素中返回的首个子元素,它是一个集合,常用多个集合数据的选择处理。

    如下图,如果想把页面中每个ul中的第一个li获取到,并改变其颜色。则可以使用

    first-child

    在浏览器中显示的效果:

    通过$(“li:first-child”)选择器代码,获取了两个

      父元素中的第一个

    • 元素,并使用css()方法修改了它们在页面中显示的文字颜色。

    11.

    :last-child子元素过滤选择器

    与:first-child子元素过滤选择器功能相反,:last-child子元素过滤选择器的功能是获取每个父元素中返回的最后一个子元素,它也是一个集合,常用多个集合数据的选择处理。

    例如,使用:last-child子元素过滤选择器,修改“蔬菜”和“水果”中最后一个显示的文字颜色,如下图所示:

    在浏览器中显示的效果:

    从图中可以看出,通过$(“li:last-child”)选择器代码,获取了两个

      父元素中的最后一个

    • 元素,并使用css()方法修改了它们在页面中显示的文字颜色。
    <body>
        <p>我是P先生</p>
        <p style="display: none">我是一个隐藏的P先生</p>
        <div></div>
    </body>
    <script type = "text/javascript">
        var $strHTML = $("p:visible").html();
        $("div").html($strHTML);
    </script>

    调用$(“p:visible”)选择器代码,获取那个可见的

    元素,并调用html()方法获取该元素的内容,最后将该内容显示在

    元素中。

    7. [attribute=value]属性选择器

    属性作为DOM元素的一个重要特征,也可以用于选择器中,从本节开始将介绍通过元素属性获取元素的选择器,[attribute=value]属性选择器的功能是获取与属性名和属性值完全相同的全部元素,其中[]是专用于属性选择器的括号符,参数attribute表示属性名称,value参数表示属性值。

    例如,使用[attribute=value]属性选择器,获取指定属性名和对应值的全部

  • 元素,并设置它们显示的文字颜色,如图所示:
  • 在浏览器中显示的效果:

    从图中可以看出,使用$(“li[title=’我最爱’]”)属性选择器代码,获取了2个

  • 元素,并调用css()方法设置它们在页面中显示的文字颜色,另外,属性值中的‘’单引号可以不写,由于属性名与属性值是等号,因此,它们之间不是包含关系,而是完全相同。
    1. 8.

    [attribute!=value]属性选择器

    与上一节介绍的[attribute=value]属性选择器正好相反,[attribute!=value]属性选择器的功能是获取不包含属性名,或者与属性名和属性值不相同的全部元素,其中[]是专用于属性选择器的括号符,参数attribute表示属性名称,value参数表示属性值。

    例如,使用[attribute!=value]属性选择器,获取指定不包含属性名,或与属性名和对应值不同的全部

  • 元素,并设置它们显示的文字颜色,如图所示:
  • 在浏览器中显示的效果:

    可以看出,使用$(“li[title!=’我最爱’]”)属性选择器代码,获取了3个

  • 元素,其中一个是不包含title属性名,另外两个的title属性值不等于“我最爱”,获取元素后并调用css()方法设置这些元素在页面中显示的文字颜色。
    1. 9.

    [attribute*=value]属性选择器

    介绍一个功能更为强大的属性选择器[attribute*=value],它可以获取属性值中包含指定内容的全部元素,其中[]是专用于属性选择器的括号符,参数attribute表示属性名称,value参数表示对应的属性值。

    例如,使用[attribute*=value]属性选择器,获取属性值中包含某一指定内容的全部

  • 元素,并设置它们显示的文字颜色,如下图所示:
  • 在浏览器中显示的效果:

    从图中可以看出,使用$(“li[title*=’最’]”)属性选择器代码,获取了3个

  • 元素,这些元素的title属性值中都包含了“最”字符,获取这些元素后并调用css()方法设置这些元素在页面中显示的文字颜色。
  • 10.

    :first-child子元素过滤选择器

    通过上面章节的学习,我们知道使用:first过滤选择器可以获取指定父元素中的首个子元素,但该选择器返回的只有一个元素,并不是一个集合,而使用:first-child子元素过滤选择器则可以获取每个父元素中返回的首个子元素,它是一个集合,常用多个集合数据的选择处理。

    如下图,如果想把页面中每个ul中的第一个li获取到,并改变其颜色。则可以使用

    first-child

    在浏览器中显示的效果:

    通过$(“li:first-child”)选择器代码,获取了两个

      父元素中的第一个

    • 元素,并使用css()方法修改了它们在页面中显示的文字颜色。

    11.

    :last-child子元素过滤选择器

    与:first-child子元素过滤选择器功能相反,:last-child子元素过滤选择器的功能是获取每个父元素中返回的最后一个子元素,它也是一个集合,常用多个集合数据的选择处理。

    例如,使用:last-child子元素过滤选择器,修改“蔬菜”和“水果”中最后一个显示的文字颜色,如下图所示:

    在浏览器中显示的效果:

    从图中可以看出,通过$(“li:last-child”)选择器代码,获取了两个

      父元素中的最后一个

    • 元素,并使用css()方法修改了它们在页面中显示的文字颜色。
    时间: 2024-08-11 07:44:48

    过滤性选择器的相关文章

    jquery学习记录二(过滤性选择器)

    过滤性选择器包括: 1.:first过滤选择器 2.:eq(index)过滤选择器 3.:contains(text)过滤选择器 4.:has(selector)过滤选择器 5.:hidden过滤选择器 6.:visible过滤选择器 7.[attribute=value]属性选择器 8.[attribute!=value]属性选择器 9.[attribute*=value]属性选择器 10.:first-child子元素选择器 11.last-child子元素选择器 过滤性选择器,该类型的选择

    Jquery过滤性选择器

    这里以 <li> 为例 1.第一个为li的子元素,最后一个为li的子元素    $("li:first")   $("li:last") 2.第n个子元素(从0开始索引)    $("li:eq(n-1)") 3.获取包含"text"字符串内容的全部元素对象  $( " li:contains ( ' text ' ) " ) 4.获取指定包含某个元素名的全部<li>元素,比如含p元

    Jquery教程 2.jquery的过滤性选择器

    :first过滤器:$("li:last").css("background-color", "red") 得到li元素的最后一个子节点. $("li:last")<==>$("li").last(); 注:这两个的效果相同,但是后者速度更快,推荐用后者 $("li:first")<==>$("li").first(); $("li&

    jQuary选择器总结

    jQuary基础选择器 $("div*")获取div下面的所有元素 $(".red,.green").html("怎么") // 需要注意的是要把两个选择前写在同一个引号内  (需要同时选择多个选择器的时候用) $("ance desc")  //ancestor祖先选择器  descendant子孙选择器 $(“parent > child”)  //只包含子辈选择器 不包含孙辈选择器 $(“prev + next”)

    jQuery第二章

    一.jQuery选择器 jQuery的行为规则都必须在获取到元素后才能生效.来看一个简单的例子: <p class = “demo”>jQuery Demo</p> <script type = “text/javascript”> $(“.class”).click(function(){ alert(“jQuery demo!”); }) 本段代码的作用是为<p>元素设置一个onclick事件,当单击此元素时,会弹出一个对话框. 二.jQuery选择器

    jQuery的初次学习

    今天学习到了jQuery的应用,第一次使用jQuery,我就感受到了它的强大,我之所以强大的原因是它的选择器,它能满足几乎所有我所能想到的找到一个节点的方法,它包括了所有CSS的选择器,而且完善了选择器.今天就来说说关于jQ的选择器吧. 首先要说的是过滤性选择器,第一个:even,匹配所有索引值为偶数的元素,从 0 开始计数.具体的例子就不说了,手册上都有.然后是与之相对应的:odd,也就是匹配奇数的.这两个选择器,在制作类似表格的时候会比较好用.下一个:eq(index),这也是一个常用的选择

    jQuery 学习总结(上)

    第二章:基础选择器 第三章:过滤性选择器 第四章:表单选择器 第五章:jQuery  操作DOM 第六章:jQuery 事件与应用 第七章:jQuery 实现ajax应用

    jQuery入门第二天&amp;&amp;&amp;正则表达式完结篇——仿smarty引擎的制作

    hi 周一完全的不在状态...中午还去观战,没有睡觉的我,晚上的smarty不知道能不能做完,加油吧 1.jQuery ---过滤性选择器(二)--- --[attribute=value]属性选择器 属性作为DOM元素的一个重要特征,也可以用于选择器中,从本节开始将介绍通过元素属性获取元素的选择器,[attribute=value]属性选择器的功能是获取与属性名和属性值完全相同的全部元素,其中[]是专用于属性选择器的括号符,参数attribute表示属性名称,value参数表示属性值. <h3

    jQuery系列之操作select标签

    每次看完东西基本就忘了,现在决定写一下博客来记录,不知道效果咋样. 一.jQuery操作选择器 1.基本选择器 关于基本选择器,我就不用太多说了,包括了ID.类.标签等选择器. 2.层次选择器 我觉得掌握层次选择器需要了解dom元素的树形结构,这样你才能准确的抓住你想要操作的dom元素. 下面介绍一下层次选择器: a. $("ancestor descendant"),表示选取ancestor元素中的所有descendant元素,ancestor表示上代的一起,descendant表示