转:jquery选择器总结
原文地址:http://www.cnblogs.com/onlys/articles/jQuery.html
jQuery 的选择器可谓之强大无比,这里简单地总结一下常用的元素查找方法
$(
"#myELement"
) 选择id值等于myElement的元素,id值不能重复在文档中只能有一个id值是myElement所以得到的是唯一的元素
$(
"div"
) 选择所有的div标签元素,返回div元素数组
$(
".myClass"
) 选择使用myClass类的css的所有元素
$(
"*"
) 选择文档中的所有的元素,可以运用多种的选择方式进行联合选择:例如$(
"#myELement,div,.myclass"
)
层叠选择器:
$(
"form input"
) 选择所有的form元素中的input元素
$(
"#main > *"
) 选择id值为main的所有的子元素
$(
"label + input"
) 选择所有的label元素的下一个input元素节点,经测试选择器返回的是label标签后面直接跟一个input标签的所有input标签元素 ,等于next()
$(
"#prev ~ div"
) 同胞选择器,该选择器返回的为id为prev的标签元素的所有的属于同一个父元素的div标签 ,等于 nextAll()
基本过滤选择器:
$(
"tr:first"
) 选择所有tr元素的第一个
$(
"tr:last"
) 选择所有tr元素的最后一个
$(
"input:not(:checked) + span"
)
过滤掉:checked的选择器的所有的input元素
$(
"tr:even"
) 选择所有的tr元素的第0,2,4... ...个元素(注意:因为所选择的多个元素时为数组,所以序号是从0开始)
$(
"tr:odd"
) 选择所有的tr元素的第1,3,5... ...个元素
$(
"td:eq(2)"
) 选择所有的td元素中序号为2的那个td元素
$(
"td:gt(4)"
) 选择td元素中序号大于4的所有td元素
$(
"td:ll(4)"
) 选择td元素中序号小于4的所有的td元素
$(
":header"
)
$(
"div:animated"
)
内容过滤选择器:
$(
"div:contains('John')"
) 选择所有div中含有John文本的元素
$(
"td:empty"
) 选择所有的为空(也不包括文本节点)的td元素的数组
$(
"div:has(p)"
) 选择所有含有p标签的div元素
$(
"td:parent"
) 选择所有的以td为父节点的元素数组
可视化过滤选择器:
$(
"div:hidden"
) 选择所有的被hidden的div元素
$(
"div:visible"
) 选择所有的可视化的div元素
属性过滤选择器:
$(
"div[id]"
) 选择所有含有id属性的div元素
$(
"input[name='newsletter']"
) 选择所有的name属性等于
'newsletter'
的input元素
$(
"input[name!='newsletter']"
) 选择所有的name属性不等于
'newsletter'
的input元素
$(
"input[name^='news']"
) 选择所有的name属性以
'news'
开头的input元素
$(
"input[name$='news']"
) 选择所有的name属性以
'news'
结尾的input元素
$(
"input[name*='man']"
) 选择所有的name属性包含
'news'
的input元素
$(
"input[id][name$='man']"
) 可以使用多个属性进行联合选择,该选择器是得到所有的含有id属性并且那么属性以man结尾的元素
子元素过滤选择器:
$(
"ul li:nth-child(2)"
),$(
"ul li:nth-child(odd)"
),$(
"ul li:nth-child(3n + 1)"
)
$(
"div span:first-child"
) 返回所有的div元素的第一个子节点的数组
$(
"div span:last-child"
) 返回所有的div元素的最后一个节点的数组
$(
"div button:only-child"
) 返回所有的div中只有唯一一个子节点的所有子节点的数组
表单元素选择器:
$(
":input"
) 选择所有的表单输入元素,包括input, textarea, select 和 button
$(
":text"
) 选择所有的text input元素
$(
":password"
) 选择所有的password input元素
$(
":radio"
) 选择所有的radio input元素
$(
":checkbox"
) 选择所有的checkbox input元素
$(
":submit"
) 选择所有的submit input元素
$(
":image"
) 选择所有的image input元素
$(
":reset"
) 选择所有的reset input元素
$(
":button"
) 选择所有的button input元素
$(
":file"
) 选择所有的file input元素
$(
":hidden"
) 选择所有类型为hidden的input元素或表单的隐藏域
表单元素过滤选择器:
$(
":enabled"
) 选择所有的可操作的表单元素
$(
":disabled"
) 选择所有的不可操作的表单元素
$(
":checked"
) 选择所有的被checked的表单元素
$(
"select option:selected"
) 选择所有的select 的子元素中被selected的元素
选取一个 name 为”S_03_22″的input text框的上一个td的text值
$(”input[@ name =S_03_22]“).parent().prev().text()
名字以”S_”开始,并且不是以”_R”结尾的
$(”input[@ name ^=
'S_'
]“).not(”[@ name $=
'_R'
]“)
一个名为 radio_01的radio所选的值
$(”input[@ name =radio_01][@checked]“).val();
$(
"A B"
) 查找A元素下面的所有子节点,包括非直接子节点
$(
"A>B"
) 查找A元素下面的直接子节点
$(
"A+B"
) 查找A元素后面的兄弟节点,包括非直接子节点
$(
"A~B"
) 查找A元素后面的兄弟节点,不包括非直接子节点
1. $(
"A B"
) 查找A元素下面的所有子节点,包括非直接子节点
例子:找到表单中所有的 input 元素
HTML 代码:
<form>
<label>Name:</label>
<input name=
"name"
/>
<fieldset>
<label>Newsletter:</label>
<input name=
"newsletter"
/>
</fieldset>
</form>
<input name=
"none"
/>
jQuery 代码:
$(
"form input"
)
结果:
[ <input name=
"name"
/>, <input name=
"newsletter"
/> ]
2. $(
"A>B"
) 查找A元素下面的直接子节点
例子:匹配表单中所有的子级input元素。
HTML 代码:
<form>
<label>Name:</label>
<input name=
"name"
/>
<fieldset>
<label>Newsletter:</label>
<input name=
"newsletter"
/>
</fieldset>
</form>
<input name=
"none"
/>
jQuery 代码:
$(
"form > input"
)
结果:
[ <input name=
"name"
/> ]
3. $(
"A+B"
) 查找A元素后面的兄弟节点,包括非直接子节点
例子:匹配所有跟在 label 后面的 input 元素
HTML 代码:
<form>
<label>Name:</label>
<input name=
"name"
/>
<fieldset>
<label>Newsletter:</label>
<input name=
"newsletter"
/>
</fieldset>
</form>
<input name=
"none"
/>
jQuery 代码:
$(
"label + input"
)
结果:
[ <input name=
"name"
/>, <input name=
"newsletter"
/> ]
4. $(
"A~B"
) 查找A元素后面的兄弟节点,不包括非直接子节点
例子:找到所有与表单同辈的 input 元素
HTML 代码:
<form>
<label>Name:</label>
<input name=
"name"
/>
<fieldset>
<label>Newsletter:</label>
<input name=
"newsletter"
/>
</fieldset>
</form>
<input name=
"none"
/>
jQuery 代码:
$(
"form ~ input"
)
结果:
[ <input name=
"none"
/> ]
前缀选择器
描述:选择指定属性值的元素,或者是以字符串开始其后跟随“-”符号的。
jQuery( "[attribute|='value']" )
例:查找出所有语言属性为en的链接。
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>attributeContainsPrefix demo</title>
<style>
a{
display:inline-block;
}
</style>
<script src="./js/jquery-1.9.1.min.js"></script>
</head>
<body>
<a href="index.html" hreflang="en">Some text</a>
<a href="index.html" hreflang="en-UK">Some other text</a>
<a href="index.html" hreflang="english">will not be outlined</a>
<script>
$("a[hreflang|='en']").css("border","3px dotted green");
</script>
</body>
</html>
页眉选择器
jQuery( ":header" )
描述:选择页眉的所有标签,如 h1,h2, h3 等。
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="utf-8">
<title>header demo</title>
<style>
</style>
<script src="js/jquery-1.9.1.min.js"></script>
</head>
<body>
<h1>Header 1</h1>
<p>Contents 1</p>
<h2>Header 2</h2>
<p>Contents 2</p>
<script>
$(":header").css({background:"#ccc", color:"blue"});
</script>
</body>
</html>
语言选择器
jQuery( ":lang(language)" )
描述:选择所有用特定语言指定的标签。
根据标签指定语言的不同给标签上色。
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="utf-8">
<title>header demo</title>
<style>
body {
background-color: #ccc;
}
h3 {
margin: .25em 0;
}
div {
line-height: 1.5em
}
.usa {
background-color: #f00;
color: #fff;
}
.usa .usa {
background-color: #fff;
color: #000;
}
.usa .usa .usa {
background-color: #00f;
color: #fff;
}
.spain {
background-color: #f00;
color: #ff0;
}
.spain .spain {
background-color: #ff0;
color: #f00;
line-height: 3em;
}
.spain .spain .spain {
background-color: #f00;
color: #ff0;
line-height: 1.5em;
}
</style>
<script src="js/jquery-1.9.1.min.js"></script>
</head>
<body>
<h3>USA</h3>
<div lang="en-us">red
<div>white
<div>and blue</div>
</div>
</div>
<h3>Espana</h3>
<div lang="es-es">rojo
<div>amarillo
<div>y rojo</div>
</div>
</div>
<script>
$("div:lang(en-us)").addClass("usa");
$("div:lang(es-es)").addClass("spain");
</script>
</body>
</html>
根元素选择器
描述:选择文档的根节点元素。
jQuery( ":root" )
例:显示文档根节点标签名。
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="utf-8">
<title>root demo</title>
<style>
</style>
<script src="js/jquery-1.9.1.min.js"></script>
</head>
<body>
<div id="log">The root of this document is:</div>
<script>
$("<b></b>").html($(":root")[0].nodeName).appendTo("#log");
</script>
</body>
</html>
jQuery( ":target" ) 1.9新增
返回值
返回封装了id为当前文档URI的锚点名称的元素的jQuery对象。
注意::target选择器最好在$(window).load(callback)
的函数参数callback
中使用,否则在FireFox、Chrome等浏览器中可能会出现无法匹配到指定元素的问题(例如下面HTML示例代码中的n2)。
示例&说明
以下面这段HTML代码为例:
<div id="n1"> <p id="n2"> <span id="n3" class="abc">span2</span> <span id="n4">span3</span> </p></div>
假设当前文档的URI为http://localhost/demo.html#n2
,则$(":target")
所匹配的元素如以下jQuery代码所示:
// 选择了id为n2的<p>元素var $target = $(":target");if( $target.length == 1){ // 如果匹配到了元素 var ele = $target[0]; // 获取JS原生DOM元素 alert( ele.tagName + "#" + ele.id ); // P#n2 }
上述jQuery代码在FireFox、Chrome等浏览器中可能无法获取到匹配的元素,你可以将:target选择器放在window.onload事件中处理:
// 在Chrome中,使用$(document).ready()仍然无法获取到匹配的元素// 必须使用$(window).load()来获取$(window).load(function(){ var $target = $(":target"); if( $target.length == 1){ // 如果匹配到了元素 var ele = $target[0]; // 获取JS原生DOM元素 alert( ele.tagName + "#" + ele.id ); // P#n2 } });
参考:
http://www.cnblogs.com/semcoding/category/511934.html
jquery中文网:http://www.jquery123.com/category/version/1.9/
转:jquery选择器总结的更多相关文章
- JQuery 选择器
选择器是JQuery的根基,在JQuery中,对事件的处理,遍历DOM和AJAX操作都依赖于选择器.如果能够熟练地使用选择器,不仅能简化代码,而且还可以事半功倍. JQuery选择器的优势 1.简洁的 ...
- jQuery的案例及必知重要的jQuery选择器
Jquery能做什么 访问和操作DOM元素 控制页面样式 对页面事件进行处理 扩展新的jQuery插件 与Ajax技术完美结合 Jquery的优势 体积小,压缩后只有100KB左右 l强大的选择器 出 ...
- 深入学习jQuery选择器系列第一篇——基础选择器和层级选择器
× 目录 [1]id选择器 [2]元素选择器 [3]类选择器[4]通配选择器[5]群组选择器[6]后代选择器[7]兄弟选择器 前面的话 选择器是jQuery的根基,在jQuery中,对事件处理.遍历D ...
- jQuery选择器和选取方法 http://www.cnblogs.com/MaxIE/p/4078869.html
我们已经使用了带有简单Css选择器的jQuery选取函数:$().现在是时候深入了解jQuery选择器语法,以及一些提取和扩充选中元素集的方法了. 一.jQuery选择器 在CSS3选择器标淮草案定义 ...
- 《锋利的jQuery(第2版)》笔记-第2章-jQuery选择器
选择器是jQuery的根基,在jQuery中,对事件处理.遍历DOM和Ajax操作都依赖于选择器.熟练使用选择器,不仅可以简化代码,而且可以达到事半功倍的效果. 2.1 jQuery选择器是什么 1. ...
- 深入学习jQuery选择器系列第八篇——过滤选择器之伪子元素选择器
× 目录 [1]通用形式 [2]反向形式 [3]首尾元素 [4]唯一元素 前面的话 本文是子元素选择器的续篇,主要介绍关于nth-of-type()选择器的内容.该部分内容并非没有出现在<锋利的 ...
- 深入学习jQuery选择器系列第四篇——过滤选择器之属性选择器
× 目录 [1]简单属性 [2]具体属性 [3]条件属性 前面的话 属性过滤选择器的过滤规则是通过元素的属性来获取相应的元素,对应于CSS中的属性选择器.属性过滤选择器可分为简单属性选择器.具体属性选 ...
- 深入学习jQuery选择器系列第二篇——过滤选择器之子元素选择器
× 目录 [1]通用形式 [2]反向形式 [3]首尾元素 [4]唯一元素 前面的话 在上一篇中已经介绍过基础选择器和层级选择器,本文开始介绍过滤选择器.过滤选择器是jQuery选择器中最为庞大也是最为 ...
- jQuery-1.9.1源码分析系列(二)jQuery选择器
1.选择器结构 jQuery的选择器根据源码可以分为几块 init: function( selector, context, rootjQuery ) { ... // HANDLE: $(&quo ...
- jQuery-1.9.1源码分析系列(二)jQuery选择器续1
在分析之前说一点题外话. ownerDocument和 documentElement的区别 ownerDocument是Node对象的一个属性,返回的是某个元素的根节点文档对象:即document对 ...
随机推荐
- 探秘重编译(Recompilations)(2/2)
在上一篇文章里,我讨论了使用临时表如何引起SQL Server里的重编译.在文章最后我提到,今天这篇文章我会聚焦表变量(Table Variables)的更多信息,它可以避免重编译的昂贵开销.我们来详 ...
- WordPress主题模板层次和常用模板函数
首页: home.php index.php 文章页: single-{post_type}.php – 如果文章类型是videos(即视频),WordPress就会去查找single-videos. ...
- 阅读《LEARNING HARD C#学习笔记》知识点总结与摘要四
又是一个周末,刚好有时间,又继续复习与总结了,希望能让大家受益,不足之处欢迎指正,谢谢! 十八. Lambda 1.Lambda表达式:匿名方法的另一种表现形式,它可以包含表达式和语句,且用于创建委托 ...
- 解决matplotlib的中文问题
matplotlib的强大无需我去言说,但它对使用中文的我来说却有一点瑕疵,那就是--在默认状态下,matplotlb无法在图表中使用中文. 在网上查找了一些资料,发现matplotlib本身是支持U ...
- XML基础学习02<linq to xml>
Linq to XML的理解 1:这是一种比较好的操作Xml的工具. àXDocument 文档 àXElement 元素 àXAttribute 属性 àXText 文本 2:这里还是和我们之前创建 ...
- DirectX.Capture Namespace
DirectX.Capture Class Library DirectX.Capture Namespace The DirectX.Capture namespace contains cla ...
- 参考例子,学习Func<T, TResult>委托
这些天,开发ASP.NET MVC,其间有查找资料,发现一个全新的Func<T, TResult> 委托.让我们在开发时,节省与简化很多. 在开发过程中,我们需要把一个泛型List< ...
- WebResource.axd 404 错误
再对程序进行发布的时候,出现以下情况 复制出错误信息: 网页错误详细信息 用户代理: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Triden ...
- Win10 IoT C#开发 5 - 操作 IoT 设备内嵌 SQLite 数据库 CURD
Windows 10 IoT Core 是微软针对物联网市场的一个重要产品,与以往的Windows版本不同,是为物联网设备专门设计的,硬件也不仅仅限于x86架构,同时可以在ARM架构上运行. 前几章我 ...
- Entity Framework 的简单介绍与实例
1.下载与引用 a) 首先需要下载一个oracle clinent 12c 发行版(我这边下载的是发行版)并进行安装,下载内容如下图 B) 创建一个项目,通过Nuget引用 添加ODP.NET ...