这一节详细的总结jQuery选择器。

一、基础选择器

$('#info');        // 选择id为info的元素,id为document中是唯一的,因此可以通过该选择器获取唯一的指定元素 $('.infoClass');     // 选择class为infoClass的所有元素 $('div');        // 选择标签名为div的所有的元素 $('*');         // 选择所有标签元素

二、基本过滤器

基本选择器获取的元素集合,通过过滤器的筛选,使选择更加精确。

$('.infoClass:first');    // 选择class为infoClass的所有元素集合,并筛选集合中的第一个元素 $('.infoClass:last');     // 选择class为infoClass的所有元素集合,并筛选集合中的最后一个元素 $('.infoClass:odd');      // 选择class为infoClass的所有元素集合,并筛选集合中索引为奇数的元素,如1,3,5 $('.infoClass:even');     // 选择class为infoClass的所有元素集合,并筛选集合中索引为偶数的元素,如0,2,4 $('.infoClass:eq(2)');    // 选择class为infoClass的所有元素集合,并筛选集合中索引为2的元素 $('.infoClass.lt(2)');    // 选择class为infoClass的所有元素集合,并筛选集合中索引小于2的元素集合 $('.infoClass.gt(2)');    // 选择class为infoClass的所有元素集合,并筛选集合中索引大于2的元素集合

三、内容过滤器

jQery准备了内容过滤器用于对选择的元素集合内容进行过滤。

统一名称:

  • 空元素:不包含任何后代元素或文本内容的元素,如<div></div>
  • 非空元素:包含后代元素或者包含文本内容的元素
$('div:contains("info")');     // 选择标签为div的所有元素集合,并筛选集合中文本内容包含info字段的元素 $('div:empty');                // 选择标签为div的所有元素集合,并筛选集合中所有空元素 $('div:parent');              // 选择标签为div的所有元素集合,并筛选集合中所有非空元素 $('div:has(p)');               // 选择标签为div的所有元素集合,并筛选集合中后代元素含有p标签的元素

四、可视化过滤器

对于元素是否可见,jQuery也进行了处理。

$('div:visible');            // 选择标签为div的所有元素集合,并筛选集合中可见的元素 $('div:hidden');             // 选择标签为div的所有元素集合,并筛选集合中不可见的元素

五、属性过滤器

不同元素之间,拥有不同的属性参数,jQuery允许通过参数进行过滤。

$('input[placeholder]');               // 选择所有标签为input的元素集合,并筛选包含placeholder属性的元素 $('input[placeholder="info"]');        // 选择所有标签为input的元素集合,并筛选placeholder属性值为info的元素 $('input[placeholder^="info"]');       // 选择所有标签为input的元素集合,并筛选placeholder属性值以info开头的元素 $('input[placeholder$="tion"]');       // 选择所有标签为input的元素集合,并筛选placeholder属性值以tion结尾的元素 $('input[placeholder*="mat"]');        // 选择所有标签为input的元素集合,并筛选placeholder属性值中包含字段mat的元素 $('input[id][placeholder*="mat"]');    // 选择所有标签为input的元素集合,并筛选包含id属性并且placeholder属性值中包含字段mat的元素

六、子元素过滤器

这个比较容易混淆,进行对比总结。

<ul>
<li>John</li>
<li>Karl</li>
<li>Brandon</li>
</ul>
<ul>
<li>Glen</li>
<li>Tane</li>
<li>Ralph</li>
</ul>
$('ul li:first-child').css('background-color', 'red');   // 选择每一个ul标签下的li元素集合中的第一个

$('ul li:first').css('background-color', 'red');   // 选择所有ul标签下的li元素集合中的第一个

$('ul li:last-child');   // 选择每一个ul标签下的li元素集合中的最后一个

七、关系选择器

  • 同级元素:即当前元素处于同一层级。
  • 父级元素:即当前元素的直属上层元素。
  • 祖先元素:即当前元素的所有上层元素。
  • 子级元素:即当前元素的直属子层元素。
  • 后代元素:即当前元素的所有子层元素。
$('form input');           // 选择所有标签为form的元素中,后代元素标签为input的元素 $('form>input');           // 选择所有标签为form的元素中,子级元素标签为input的元素 $('label+input');          // 选择所有标签为label的同级元素中,标签为input的元素集合中的第一个 $('label~input');          // 选择所有标签为label的同级元素中,标签为input的元素集合

八、表单选择器

方便表单元素的选择。

$(':input');                // 选择所有表单输入元素,包括input,textarea,select $(':text');                 // 选择所有的type为text的input元素 $(':password');             // 选择所有的type为password的input元素 $(':radio');                // 选择所有的type为radio的input元素  $(':checkbox');             // 选择所有的type为checkbox的input元素  $(':submit');               // 选择所有的type为submit的input元素  $(':image');                // 选择所有的type为image的input元素  $(':reset');                // 选择所有的type为reset的input元素  $(':button');               // 选择所有的type为button的input元素  $(':file');                 // 选择所有的type为file的input元素  $(':hidden');               // 选择所有类型为hidden的input元素或表单的隐藏域 

表单元素过滤器

$(':enabled');                  // 选择所有的可操作的表单元素
$(':disabled'); // 选择所有的不可操作的表单元素
$(':checked'); // 选择所有的被checked的表单元素
$('select option:selected'); // 选择所有的select 的子元素中被selected的元素

九、对比总结

为了方便记忆,将功能相关的选择器进行总结:

1. $('#id')与$('.calss')

$('#id');        // 根据id选择元素
$('.class');    // 根据class选择元素

2.$('div:first')与$('div:last')

$('div:first');     // 选择div元素集合中的第一个
$('div:last'); // 选择div元素集合中的最后一个

3.$('div:odd')与$('div:even')

$('div:odd');       // 选择div元素集合中的奇数个元素
$('div:even'); // 选择div元素集合中的偶数个元素

4.$('div:gt(i)')与$('div:lt(i)')

$('div:gt(i)');       // 选择div元素集合中索引大于i的元素
$('div:lt(i)'); // 选择div元素集合中索引小于i的元素

5.$('div:empty')与$('div:parent')

$('div:empty');        // 选择div元素集合中空元素
$('div:parent'); // 选择div元素集合中非空元素

6.$('div:visible')与$('div:hidden')

$('div:visible');      // 选择div元素集合中可见元素
$('div:hidden'); // 选择div元素集合中隐藏元素

7.$('ul li:first')与$('ul li:first-child')

$('ul li:first');             // 选择所有ul后代元素li元素集合中的第一个 $('ul li:first-child');       // 选择每个ul后代元素li元素集合中的第一个

8.$(':disable')与$(':enable')

$(':disable');             // 选择所有可以操作的表单元素
$(':enable'); // 选择所有不可以操作的表单元素
 转载自:http://www.cnblogs.com/Lands-ljk/p/6049740.html
 
分类: jQuery
标签: jquery

jQuery的选择器小总结的更多相关文章

  1. jQuery提供的小方法

    jQuery提供的小方法: 1.选择器 + 事件 + 函数 = 复杂的交互 2.循环处理与选择器匹配的各个元素:each() $("#").each(function(){     ...

  2. python 全栈开发,Day53(jQuery的介绍,jQuery的选择器,jQuery动画效果)

    js总结 js: 1.ECMAScript5 ES5语法 2.DOM CRUD 获取 3种方式 id tag className //面向对象 对象 : 属性和方法 某个对象中 function $( ...

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

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

  4. jQuery基础——选择器、效果

    一.使用JS的痛处 在学习和使用js的过程中发现了js的一些痛处: 1.书写繁琐,代码量大. 2.代码复杂. 3.动画效果很难实现.使用定时器,要小心各种定时器的清除.各种操作和处理事件不好实现. 4 ...

  5. jQuery---jq基础了解(语法,特性),JQ和JS的区别对比,JQ和JS相互转换,Jquery的选择器(基础选择器,层级选择器,属性选择器),Jquery的筛选器(基本筛选器,表单筛选器),Jquery筛选方法

    jQuery---jq基础了解(语法,特性),JQ和JS的区别对比,JQ和JS相互转换,Jquery的选择器(基础选择器,层级选择器,属性选择器),Jquery的筛选器(基本筛选器,表单筛选器),Jq ...

  6. jquery 常用选择器和方法以及遍历(超详细)

    jQuery 常用选择器和和方法 学习总结 一.JQuery 介绍 1. 什么是 jQuery 2. jQuery 版本介绍 3. jQuery 文件介绍 二.jQuery 对象 1. jQuery ...

  7. jQuery 的选择器常用的元素查找方法

    jQuery 的选择器常用的元素查找方法 基本选择器: $("#myELement")    选择id值等于myElement的元素,id值不能重复在文档中只能有一个id值是myE ...

  8. HTML 学习笔记 JQuery(选择器)

    学习前端也有一段时间了,今天终于进入到JQuery阶段了,对于新手来讲,JQuery的选择器类型之多 功能之强大实在不是一天两天能够记得完的.现在,就采用边学边记录的方式.以后要是忘了的话,也有一个地 ...

  9. 用jquery实现抽奖小程序

    用jquery实现抽奖小程序 这些日子,到处都可以看到关于微信小程序的新闻或报到,在博客园中写关于微信小程序的也不少.但是今天我要说的不是微信小程序,而是用简单的jquery写的一个好玩的抽奖小程序. ...

随机推荐

  1. 浮点数转换为人名币读法字符串(JAVA)

    /*<java疯狂讲义>浮点数转换为人名币读法字符串这个用例,感觉没有考虑零的情况*/ import java.util.Arrays; public class Num2Rmb { pr ...

  2. ACM题目————装箱问题

    题目描述 有一个箱子容量为V(正整数,0<=V<=20000),同时有n个物品(0<n<=30),每个物品有一个体积(正整数). 要求n个物品中,任取若干个装入箱内,使箱子的剩 ...

  3. quick lua目录结构

    http://cn.cocos2d-x.org/tutorial/show?id=1138 http://cn.cocos2d-x.org/tutorial/show?id=2385

  4. c3p0数据库连接池(作用不重复)

    /* * c3p0数据库连接池: * 只被初始化一次 * connection对象进行close时,不是正的关闭,而是将该数据连接归还给数据库连接池 * * */ 四个架包 mysql-connect ...

  5. hdu1081 To the Max

    直接暴力枚举所有子矩形至少需要O(n^4)的复杂度,显然这不是一个合理的解决方法. 上述方案忽略了矩形之间的联系,进行了过多不必要的计算. 实际上如果固定矩形的左右边界,则底边在i行的矩形内数值之和与 ...

  6. UVa 1339,紫书P73,词频

    题目链接:https://uva.onlinejudge.org/external/13/1339.pdf 紫书P73 解题报告: #include <stdio.h> #include ...

  7. isp和3a的联系与区别是什么?

    Willis Zen上善若水 2 人赞同 你说的这个问题,不是很多人能够回答的,我也只能把我知道的告诉你.isp 是image signal processing,用于图像处理,比如gamma调整,d ...

  8. java 7-nio异步I/O-将来式和回调式

    java7中三个异步通道 1.AsynchronousFileChannle:用于文件I/O 2.AsynchronousSockeChannle:用于套接字I/O,支持连接超时 3.Asynchro ...

  9. grails-shiro权限认证

    一.引用shiro插件 //在BuildConfig的plugins下面添加 compile ":shiro:1.2.1" 二.引用新插件后要进行编译 //grails命令 com ...

  10. 把int放在一个char数组里(用于处理每一位数字)

    sprintf(): #include <stdio.h> void put_int_with_space(int v) {     char str[50];    //定义一个足够大的 ...