1.:first过滤选择器

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

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

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

 $(“li:first”)

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

样例:鉴于:first和:last功能相近。使用:last给最后的li标签文字加入红色:

 <div>改变最后一行"苹果"背景颜色:</div>
<ol>
<li>葡萄</li>
<li>香蕉</li>
<li>橘子</li>
<li>西瓜</li>
<li>苹果</li>
</ol> <script type="text/javascript">
$("li:last").css("background-color", "red");
</script>

使用li:first过滤选择器能够非常方便地获取ul列表中的第一个li元素.

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

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

假设想从一组标签元素数组中,灵活选择随意的一个标签元素,我们能够使用

:eq(index)

当中參数index表示索引號(即:一个整数),它从0開始,假设index的值为3,表示选择的是第4个元素。

例:获取<li>子元素中的倒数第三个元素,并改变它显示的背景色:

     <ol>
<li>橘子</li>
<li>香蕉</li>
<li>葡萄</li>
<li>苹果</li>
<li>西瓜</li>
</ol> <script type="text/javascript">
$("li:eq(2)").css("background-color", "#60F");
</script>

3.:contains(text)过滤选择器

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

例:使用:contains(text)选择器获取包括“jQuery”文字内容的所有元素。并改变它们显示的背景颜色:

ol
{
float: left;
width: 180px;
}
ol li
{
float: left;
width: 180px;
height: 23px;
line-height:23px;
margin: 2px 0px;
}
 <div>改变包括"jQuery"字符内容的背景色:</div>
<ol>
<li>强大的"jQuery"</li>
<li>"javascript"也非常有用</li>
<li>"jQuery"前端必学</li>
<li>"java"是一种开发语言</li>
<li>前端利器——"jQuery"</li>
</ol> <script type="text/javascript">
$("li:contains('jQuery')").css("background", "green");
</script>

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

除了在上面介绍的使用包括的字符串内容过滤元素之外。还能够使用包括的元素名称来过滤。:has(selector)过滤选择器的功能是获取选择器中包括指定元素名称的所有元素。当中selector參数就是包括的元素名称,是被包括元素。

例:使用:has(selector)选择器,获取包括<label>名称的所有<li>元素,并改变它们显示的背景色:

<div>改变包括"label"元素的背景色:</div>
<ol>
<li><p>我是P先生</p></li>
<li><label>L妹纸就是我</label></li>
<li><p>我也是P先生</p></li>
<li><label>我也是L妹纸哦</label></li>
<li><p>P先生就是我哦</p></li>
</ol> <script type="text/javascript">
$("li:has('label')").css("background-color", "blue");
</script>

5.:hidden过滤选择器

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

例:通过:hidden选择器获取隐藏元素,并将它的值显示在<div>元素中:

 <h3>显示隐藏元素的内容</h3>
<input id="hidstr" type="hidden" value="我已隐藏起来"/>
<div></div> <script type="text/javascript">
var $strHTML = $("input:hidden").val();
$("div").html($strHTML);
</script>

例二:

 <p>我是p先生</p>
<p style="display:none">我是隐藏的P先生</p>
<div id="d"></div>
<script type="text/javascript">
var p_val = $('p:hidden').html();
$('#d').html(p_val);
</script>

6.:visible过滤选择器

与面的:hidden过滤选择器相反,:visible过滤选择器获取的是所有可见的元素,也就是说,仅仅要不将元素的display属性值设置为“none”,那么,都能够通过该选择器获取。

例:使用:visible选择器获取所有可见的<li>元素。并设置它们显示蓝色背景:

 <h3>改动可见“水果”的背景色</h3>
<ul>
<li style="display:none">橘子</li>
<li style="display:block">香蕉</li>
<li style="display:">葡萄</li>
<li>苹果</li>
<li style="display:none">西瓜</li>
</ul> <script type="text/javascript">
$("li:visible").css("background-color","blue");
</script>

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

属性作为DOM元素的一个重要特征。也能够用于选择器中,从本节開始将介绍通过元素属性获取元素的选择器,[attribute=value]属性选择器的功能是获取与属性名和属性值全然同样的所有元素,当中[]是专用于属性选择器的括号符,參数attribute表示属性名称,value參数表示属性值。

例:使用[attribute=value]属性选择器。获取指定属性名和相应值的所有<li>元素,并设置它们显示的背景色:

<h3>改变"title"属性值为"蔬菜"的背景色</h3>
<ul>
<li title="蔬菜">茄子</li>
<li title="水果">香蕉</li>
<li title="蔬菜">芹菜</li>
<li title="水果">苹果</li>
<li title="水果">西瓜</li>
</ul> <script type="text/javascript">
$("li[title='蔬菜']").css("background-color", "green");
</script>

[attribute!=value]属性选择器

与上面介绍的[attribute=value]属性选择器正好相反,[attribute!=value]属性选择器的功能是获取不包括属性名,或者与属性名和属性值不同样的所有元素,当中[]是专用于属性选择器的括号符,參数attribute表示属性名称。value參数表示属性值。

样例就不说了。

8.[attribute*=value]属性选择器

介绍一个功能更为强大的属性选择器[attribute*=value],它能够获取属性值中包括(上面是等于)指定内容的所有元素。当中[]是专用于属性选择器的括号符,參数attribute表示属性名称,value參数表示相应的属性值。

例:使用[attribute*=value]属性选择器,获取属性值中包括指定字符标志的所有<li>元素,并设置它们显示绿色的背景:

<h3>改变"title"属性值包括"果"的背景色</h3>
<ul>
<li title="蔬菜">茄子</li>
<li title="水果">香蕉</li>
<li title="蔬菜">芹菜</li>
<li title="人參果">小西红柿</li>
<li title="水果">西瓜</li>
</ul> <script type="text/javascript">
$("li[title*='果']").css("background-color", "green");
</script>

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

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

例:使用:first-child子元素过滤选择器,改动“蔬菜”和“水果”中第一个显示的背景色:

<h3>改变每一个"蔬菜水果"中第一行的背景色</h3>
<ol>
<li>芹菜</li>
<li>茄子</li>
<li>萝卜</li>
<li>大白菜</li>
<li>西红柿</li>
</ol>
<ol>
<li>橘子</li>
<li>香蕉</li>
<li>葡萄</li>
<li>苹果</li>
<li>西瓜</li>
</ol> <script type="text/javascript">
$("li:first-child").css("background-color", "green");
</script>
ol
{
float: left;
width: 180px;
}
ol li
{
float: left;
width: 180px;
height: 23px;
line-height: 23px;
margin: 2px 0px;
}

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

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

样例就不举了。和上面几乎相同。

10分钟-jQuery过滤选择器的更多相关文章

  1. jQuery过滤选择器:first和:first-child的区别,CSS伪类:first-child

    最近项目中遇到需求:只在第一列不能删除,不显示小叉号:点击可添加一列,后面的列右上角显示小叉号,可以点击删除. 我是使用以下方法解决这个小需求 :CSS伪类选择器:first-child设置所有小叉号 ...

  2. jQuery过滤选择器

    //基本过滤器$('li:first').css('background','#ccc');//第一个元素$('li:last').css('background','red');//最后一个元素$( ...

  3. jQuery过滤选择器:not()方法使用介绍

    在jQuery的早期版本中,:not()筛选器只支持简单的选择器,说明我们传入到:not这个filter中的selector可以任意复杂,比如:not(div a) and :not(div,a) & ...

  4. jQuery过滤选择器:not()方法介绍

    jQuery(':not(selector)') 在jQuery的早期版本中,:not()筛选器只支持简单的选择器,说明我们传入到:not这个filter中的selector可以任意复杂,比如:not ...

  5. 009 jquery过滤选择器-----------(表单对象属性过滤选择器 与 表单选择器)

    1.表单对象属性选择器 2.程序 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"& ...

  6. Jquery过滤选择器,选择前几个元素,后几个元素,内容过滤选择器等

    一.基本过滤选择器(重点掌握下列八个):first 选取第一个元素 $("div:first").css("color","red");:l ...

  7. jQuery过滤选择器具体解释

    基本过滤选择器 选取第一个元素(:first) //选择第一个div元素. $('#btn1').click(function(){ $('div:first').css("backgrou ...

  8. 10分钟-jQuery-基础选择器

    1.id 选择器 jquery能使用CSS选择器来操作网页中的标签元素.假设你想要通过一个id号去查找一个元素,就能够使用例如以下格式的选择器: $("#my_id") 当中#my ...

  9. 基础2.Jquery过滤选择器

                         1.基础选择器: 名称 说明 举例 #id 根据元素Id选择 $("divId") 选择ID为divId的元素 element 根据元素的 ...

随机推荐

  1. JDK 生成数字证书

    JDK(keytool.exe)生成数字证书 2010-11-21 15:52 QUOTE: keytool JAVA是个密钥和证书管理工具.它使用户能够管理自己的公钥/私钥对及相关证书,用于(通过数 ...

  2. mysql数据库的数据类型及约束

     本文转自:http://www.cnblogs.com/zbseoag/archive/2013/03/19/2970004.html 1.整型 MySQL数据类型 含义(有符号) tinyint( ...

  3. leetcode689:Maximum Sum of 3 Non-Overlapping Subarrays

    给定数组a[N](每个元素都是正整数)和一个整数k(k小于等于N/3),要求从数组a中找出不相交的三个数组,每个数组长度都为k,使得三个数组之和最大.输出(i,j,k)表示三个子数组的开始下标,如果有 ...

  4. mermaid 语法

    a:focus { outline: thin dotted #333; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2p ...

  5. 使用EditPlus技巧,提高工作效率(附英文版、自动完成文件、语法文件下载)

    http://www.cnblogs.com/JustinYoung/archive/2008/01/14/editplus-skills.html

  6. java集合框架03——ArrayList和源码分析

    最近忙着替公司招人好久没写了,荒废了不好意思. 上一章学习了Collection的架构,并阅读了部分源码,这一章开始,我们将对Collection的具体实现进行详细学习.首先学习List.而Array ...

  7. 解决LLDB模式下出现message sent to deallocated instance错误

    本文在源文的基础上做整理:http://www.devdiv.com/home.php?mod=space&uid=50901&do=blog&id=50856 Xcode版本 ...

  8. TCP/IP具体解释学习笔记--TCP数据流

    1.TCP的交互数据流 (1)基本概念 所谓交互数据流,其对TCP而言,就是他们所产生的大多数的TCP报文段中所包括的数据不超过10个字节.比如聊天等telnet的软件的TCP数据流就属于TCP交互数 ...

  9. Python isnumeric() 方法

    描述 Python isnumeric() 方法检测字符串是否只由数字组成.这种方法是只针对unicode对象. 注:定义一个字符串为Unicode,只需要在字符串前添加 'u' 前缀即可,具体可以查 ...

  10. NRF24L01使用外部中断读取数据的问题

    NRF24L01读取数据不能使用中断的方式,原因如下: 首先NRF24L01中断触发时,IRQ引脚会一直保持低电平直到状态寄存器中的中断标志被重新清零. stm32的外部中断触发方式只有上升沿或者下降 ...