jQuery(二)、选择器
博客已迁移到CSDN《https://blog.csdn.net/qq_33375499》
1、#id
根据给定的ID匹配一个元素,如果选择器中包含特殊字符,可以用双斜杆(\\) 转义
如:
查找ID 为 myDiv[bar] 的元素
HTML 代码:
<div id="notMe">
<p>id="notMe"</p>
</div>
<div id="myDiv[bar]">
id="myDiv[bar]"
</div>
jQuery 代码:
$("#myDiv\\[bar\\]");
结果:
[ <div id="myDiv[bar]">id="myDiv[bar]"</div> ]
2、element
根据给定元素名匹配所有元素
如:
查找一个 DIV 元素。
HTML 代码:
<div>DIV1</div>
<div>DIV2</div>
<span>SPAN</span>
jQuery 代码:
$("div");
结果:
[ <div>DIV1</div>, <div>DIV2</div> ]
3、 .class
根据类名进行匹配元素,一个用以搜索的类。一个元素可以有多个类,只要有一个符合就能被匹配到。(多个类 jquery代码为:$(".class1.class2.class3"),且顺序可以为乱序 )
如:
查找所有类是 "myClass" 的元素.
HTML 代码:
<div class="notMe myClass1">div class="notMe"</div>
<div class="myClass a1 a3">div class="myClass"</div>
<span class="myClass a2 a4">span class="myClass"</span>
jQuery 代码:
$(".myClass");
结果:
[ <div class="myClass">div class="myClass"</div>, <span class="myClass">span class="myClass"</span> ]
4、*
匹配所有元素,多用于结合上下文来搜索
如:
找到每一个元素
HTML 代码:
<div>DIV</div>
<span>SPAN</span>
<p>P</p>
jQuery 代码:
$("*")
结果:
[ <div>DIV</div>, <span>SPAN</span>, <p>P</p> ]
5、selector1,selector2,selectorN
将每一个选择器匹配到的元素合并后一起返回(你可以指定任意多个选择器,并将匹配到的元素合并到一个结果内)
如:
找到匹配任意一个类的元素。
HTML 代码:
<div>div</div>
<p class="myClass">p class="myClass"</p>
<span>span</span>
<p class="notMyClass">p class="notMyClass"</p>
jQuery 代码:
$("div,span,p.myClass")
结果:
[ <div>div</div>, <p class="myClass">p class="myClass"</p>, <span>span</span> ]
6、ancestor descendant
在给定的祖先元素下匹配 所有(包括子元素的子元素) 的后代元素
参数:ancestor 任何有效选择器;descendant 用以匹配元素的选择器,并且它是第一个选择器的后代元素
如:
找到表单中所有的input 元素
HTML 代码:
<form>
<label>Name:</label>
<input name="name" />
<fieldset>
<label>Newsletter:</label>
<input name="newsletter" />
</fieldset>
</form>
<input id="inp1" name="none" />
jQuery 代码:
$("#inp1,form *")
结果:
[ <label>Name:</label>,<input name="name" />, <fieldset>, <label>Newsletter:</label>,<input name="newsletter" />,<input id="inp1" name="none" /> ]
7、parent > child
在给定的父元素下匹配所有的子元素(第一层级子元素,并且自身满足匹配结果,也会返回)
如:
匹配表单中所有当前表单的子元素
HTML 代码:
<form>
<label>Name:</label>
<input name="name" />
<fieldset>
<label>Newsletter:</label>
<input name="newsletter" />
</fieldset>
</form>
<input id="inp1" name="none" />
jQuery 代码:
$("#inp1,form > input")
结果:
[ <input name="name" />,<input id="inp1" name="none" /> ]
8、prev + next
匹配所有紧跟在 prev 之后的 next 元素
参数:prev 任何选择器;next 一个有效选择器并且紧接着第一个选择器
如:
匹配所有跟在lable后面的input和p元素
HTML 代码:
<form>
<label>Name:</label>
<input name="name" />
<fieldset>
<label>Newsletter:</label>
<input name="newsletter" />
</fieldset>
<label>Newsletter2:</label>
<p>p:</p>
<input name="newsletter2" />
</form>
<input id="inp1" name="none" />
jQuery 代码:
$("label + input,p")
结果:
[ <input name="name" />,<input name="newsletter" />,<p>p:</p> ]
9、prev ~ siblings
匹配prev元素之后的所有siblings 元素
参数:prev 任何有效选择器; siblings 一个选择器,并且它作为第一个选择器的同级
如:
找到所有与表单下所有label子集同辈的 input元素、p元素
HTML 代码:
<form>
<label>Name:</label>
<input name="name" />
<fieldset>
<label>Newsletter:</label>
<input name="newsletter" />
</fieldset>
<label>Newsletter2:</label>
<p>p:</p>
<input name="newsletter2" />
</form>
<input id="inp1" name="none" />
jQuery 代码:
$("form label ~ input,p")
结果:
[ <input name="name" />, <input name="newsletter" />, <p>p:</p>,<input name="newsletter2" />,<p>p:</p> ]
10、prev:first
获取prev选择器下的第一个元素
参数:prev 任何有效选择器
如:
获取form下所有label子元素后跟p的第一个p元素
$("form label + p:first")
11、prev:last
获取prev选择器下的最后一个元素
参数:prev 任何有效选择器
如:
获取form下所有label子元素后跟input的最后一个input元素
$("form label + input:last")
12、prev:not(selector1,selector2,selectorN)
去除所有prev选择器下的 给定选择器selector1,selector2,selectorN 的元素(在jquery1.3 之后才支持)
如:
查找所有form元素下所有子元素后跟input元素的input元素,并且input 元素class 属性不包含 .a1.a2
$("form label + input:not(.a2.a1)")
13、prev:even
匹配prev选择器下所有索引值为 偶数 的元素,从 0 开始计数
如:
查找表格的1/3/5...行(即索引值为0,2,4...)
$("table tr:even")
14、prev:odd
匹配prev选择器下所有索引值为 奇数 的元素,从 0 开始计数
如:查找表格的2/4/6...行(即索引值为1,3,5...)
$("table tr:odd")
15、prev:eq(index)
匹配prev选择器下给定index索引值的元素
如:
查找table的第三行
$("table tr:eq(2)")
16、prev:gt(index)
匹配prev选择器下 大于 给定 index 索引值的元素
如:
查找table下第二行以后的行
$("table tr:gt(1)");
17、prev:lt(index)
匹配prev选择器下 小于 给定 index 索引值的元素
如:
查找table下第1行、第二行
$("table tr:lt(2)")
18、prev:header
匹配prev选择器下所有如h1/h2/h3/h4...子类的标题元素
如:
匹配form下所有标题元素
$("form *:header")
19、prev:animated
匹配prev选择器下所有正在执行动画效果的元素
如:
只有对不在执行动画效果的元素执行一个动画特效
$("#run").click(function(){
$("div:not(:animated)").animate({ left: "+=20" }, 1000);
});
20、:focus
触发每一个匹配元素的focus事件(这将触发所有绑定的focus函数,注意:某些对象不支持focus方法)
如:
当页面加载后将 id 为 'login' 的元素设置焦点:
$("#login:focus");
21、prev:contains(text)
匹配prev选择器下所有 包含 给定文本的元素
如:查找所有包含“A”文本的div元素
$("div:contains('A')")
22、prev:empty
匹配prev选择器下所有 不包含子元素或者文本 的空元素
23、prev:has(selector1,selector2,selectorN)
匹配prev选择器下所有含有selector1||selector||selectorN的元素的元素
如:
匹配所有子元素包含class为 .a1或.a3 的fieldset元素
HTML 代码:
<fieldset>
<label>Newsletter:</label>
<input name="newsletter" class="a1 a2" />
<h3>h3:</h3>
</fieldset>
<fieldset>
<label class="a3">Newsletter:</label>
</fieldset>
jQuery 代码:
$("fieldset:has(.a1,.a3)")
结果:
[
<fieldset>
<label>Newsletter:</label>
<input name="newsletter" class="a1 a2" />
<h3>h3:</h3>
</fieldset>,
<fieldset>
<label class="a3">Newsletter:</label>
</fieldset>
]
24、prev:parent
匹配prev选择器下所有包含子元素或文本的元素(存在子元素或文本的元素)
25、prev:hidden
匹配prev选择器下所有不可见元素(display:none),或者type为hidden的元素(<input type='hidden' />)
26、prev:visible
匹配prev选择器下所有可见元素
27、prev[attribute]
匹配prev选择器下所有包含给定属性的元素。注意,在jQuery 1.3中,前导的@符号已经被废除!如果想要兼容最新版本,只需要简单去掉@符号即可。
28、prev[attribute = 'value']
匹配prev选择器下所有包含给定的属性是某个特定值的元素
29、prev[attribute! = 'value']
匹配prev选择器下所有不包含给定属性,或者属性不等于特定值的元素 ( 此选择器等价于:not([attr=value]);要匹配含有特定属性但不等于特定值的元素,请使用[attr]:not([attr=value]) )
30、prev[attribute ^= 'value']
匹配prev选择器下给定的属性是以某些值开始的元素
如:
匹配所有id以mydiv 开头的div
$("div[id ^= 'mydiv']")
31、prev[attribute $= 'value']
匹配prev选择器下给定的属性是以某些值结束的元素
如:
匹配所有id以mydiv 结束的div
$("div[id $= 'mydiv']")
32、prev[attribute *= 'value']
匹配prev选择器下给定属性是包含某些值的元素
如:
匹配所有id包含div 的div
$("div[id *= 'div']")
33、[selector1][selector2][selectorN]
复核属性选择器,需要同时满足多个条件时使用。
如:
$("input[id][name$='man']")
34、prev:nth-child(index)
匹配prev选择器下所有元素的子元素的第N个子或奇偶元素
':eq(index)' 只匹配一个元素,而这个将为每一个父元素匹配子元素。:nth-child从 1 开始的,而:eq()是从0算起的!可以使用:
nth-child(even)
:nth-child(odd)
:nth-child(3n)
:nth-child(2)
:nth-child(3n+1)
:nth-child(3n+2)
参数:index 要匹配元素的序号,从1开始
如:
在每个 ul 查找第 2 个li
HTML 代码:
<ul>
<li>John</li>
<li>Karl</li>
<li>Brandon</li>
</ul>
<ul>
<li>Glen</li>
<li>Tane</li>
<li>Ralph</li>
</ul>
jQuery 代码:
$("ul li:nth-child(2)")
结果:
[ <li>Karl</li>, <li>Tane</li> ]
35、prev:first-child
匹配prev选择器下的所有元素的第一个子元素
36、prev:last-child
匹配prev选择器下的所有元素的最后一个子元素
37、prev:only-child
匹配prev选择器下中某个只有唯一一个子元素的元素。如果含有其他元素,将不会被匹配
38、prev:input
匹配prev选择器下所有的input、textarea、select和button元素
39、prev:text
匹配prev选择器下所有 单行文本框<input type='text' />
40、prev:password
匹配prev选择器下所有 密码框<input type='password' />
41、prev:radio
匹配prev选择器下所有 单选按钮<input type='radio' />
42、prev:checkbox
匹配prev选择器下所有 复选按钮<input type='checkbox' />
43、prev:submit
匹配prev选择器下所有 提交按钮<input type='submit' />
44、prev:image
匹配prev选择器下所有 图片域<input type='image' />
45、prev:reset
匹配prev选择器下所有 重置按钮<input type='reset' />
46、prev:button
匹配prev选择器下所有 按钮<input type='buttton' />、<button></button>
47、prev:file
匹配prev选择器下所有 文件域<input type='file' />
48、prev:enabled
匹配prev选择器下所有 可用元素(disabled)
49、prev:disabled
匹配prev选择器下所有 不可用元素
50、prev:checked
匹配prev选择器下所有选择的被选中元素(复选框、单选框等,不包括 select中的option)
51、prev:selected
匹配prev选择器下所有选中的option元素
jQuery(二)、选择器的更多相关文章
- 从零开始学习jQuery (二) 万能的选择器
本系列文章导航 从零开始学习jQuery (二) 万能的选择器 一.摘要 本章讲解jQuery最重要的选择器部分的知识. 有了jQuery的选择器我们几乎可以获取页面上任意的一个或一组对象, 可以明显 ...
- 非常easy学习的JQuery库 : (二) 选择器
作用 选择器同意您对元素组或单个元素进行操作. 在前面的章节中,我们介绍了一些有关怎样选取 HTML 元素的实例. 关键点是学习 jQuery 选择器是怎样准确地选取您希望应用效果的元素. jQuer ...
- jQuery基本选择器模块(二)
选择器模块 1.push方法的兼容性(了解) 问题:IE8不支持aplly方法中的第二个参数是 伪数组 目标:实现 push 方法的浏览器兼容性问题 var push = [].push; try { ...
- jQuery过滤选择器
//基本过滤器$('li:first').css('background','#ccc');//第一个元素$('li:last').css('background','red');//最后一个元素$( ...
- jQuery常用选择器总结
jQuery常用选择器总结: 我们都知道jQuery是JavaScript(JS)的框架,它的语法简单使用方便,被广大开发人员青睐.现在我就它常用的并且十分强大的选择器的方式,做一个总结.鉴于它的选择 ...
- js jquery css 选择器总结
js jquery css 选择器总结 一.原始JS(Document 对象)选择器. id选择器:document.getElementById("test"); name选择器 ...
- python 全栈开发,Day53(jQuery的介绍,jQuery的选择器,jQuery动画效果)
js总结 js: 1.ECMAScript5 ES5语法 2.DOM CRUD 获取 3种方式 id tag className //面向对象 对象 : 属性和方法 某个对象中 function $( ...
- jQuery基础——选择器、效果
一.使用JS的痛处 在学习和使用js的过程中发现了js的一些痛处: 1.书写繁琐,代码量大. 2.代码复杂. 3.动画效果很难实现.使用定时器,要小心各种定时器的清除.各种操作和处理事件不好实现. 4 ...
- JQuery日期选择器插件date-input
JQuery日期选择器插件之date-input 官方网站:http://jonathanleighton.com/projects/date-input/ 下载地址: http://github.c ...
- jquery-6 jquery属性选择器
jquery-6 jquery属性选择器 一.总结 一句话总结:jquery操作就是选择器加jquery对象的各种方法. 1.大量操作样式用什么方式? 大批量样式通过加类和减类完成 2.jquery中 ...
随机推荐
- 汽车之家汽车品牌Logo信息抓取 DotnetSpider实战[三]
一.正题前的唠叨 第一篇实战博客,阅读量1000+,第二篇,阅读量200+,两篇文章相差近5倍,这个差异真的令我很费劲,截止今天,我一直在思考为什么会有这么大的差距,是因为干货变少了,还是什么原因,一 ...
- Nginx+Keepalived 集群方案
1.Keepalived高可用软件 Keepalived软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能.因此,kee ...
- RK3399配置笔记
1. adb shell 默认超级管理员 在build/core/main.mk下将ADDITIONAL_DEFAULT_PROPERTIES += ro.secure=1改成ADDITIONAL_D ...
- netty 之 telnet HelloWorld 详解
前言 Netty是 一个异步事件驱动的网络应用程序框架, 用于快速开发可维护的高性能协议服务器和客户端. etty是一个NIO客户端服务器框架,可以快速轻松地开发协议服务器和客户端等网络应用程序.它极 ...
- Python函数小节
定义函数时,默认参数必须指向不变的对象 参数为可变对象时,正常调用的时候,结果没有问题,但是当使用默认参数的时候,结果就会和理想的有差距. In [78]: def add(L=[]): ...: L ...
- Asp.Net Core 轻松学-多线程之取消令牌
前言 取消令牌(CancellationToken) 是 .Net Core 中的一项重要功能,正确并合理的使用 CancellationToken 可以让业务达到简化代码.提升服务性能的效果 ...
- a标签伪类选择器以及伪元素:hover的案例
1.通过我们的观察发现a标签存在一定的状态1.1默认状态, 从未被访问过1.2被访问过的状态1.3鼠标长按状态1.4鼠标悬停在a标签上状态 2.什么是a标签的伪类选择器?a标签的伪类选择器是专门用来修 ...
- Oracle数据库升级注意事项
1 备份配置参数 数据库升级前的配置参数要备份,如PGA大小 这样数据库升级后还可以升级前的配置,而不至于使用安装升级时的默认配置 2 检查版本兼容 确认数据库升级后是否对生产环境上的代码有影响,如果 ...
- Windows server 1709(不含UI)模板部署
1.系统安装 在虚拟机导入安装镜像,客户端操作系统选择” windows server 2012”,虚拟磁盘类型选择”SCSI”:依照安装向导正确安装操作系统 2.安装vmware tools 选择虚 ...
- .NET程序员不加班——写在《华为工程师猝死,36岁,22月无休》之后
我首先承认,有点标题党.因为这是我这个十年老码农——过了年就整整11年了,o(╥﹏╥)o——的个人观察.经验所得.如果有仍在加班的.NET童鞋,不要打我.一定要打的话,只有一个要求:不要打脸! 写这篇 ...