1.1 jQuery 支持的 CSS 选择器语法
* * 任何 element
* E 类型为 E 的所有element(其实 E 可以是任何 element)
* E:nth-child(n) 一个类型为 E 的 element,它是其父 element 的第 n 个子 element
* E:first-child 一个类型为 E 的 element,它是其父 element 的第一个子 element (相当于E:nth-child(0))
* E:last-child 一个类型为 E 的 element,它是其父 element 的最后一个子 element
* E:only-child 一个类型为 E 的 element,它是其父 element 的唯一子 element
* E:empty 一个类型为 E 的用户界面(UI) element,它没有子 element(包括 文本 element)
* E:enabled 一个类型为 E 的用户界面(UI) element,它被设置为禁止(disabled)
* E:disabled 一个类型为 E 的用户界面(UI) element,它被设置为允许(enabled)
* E:checked 一个类型为 E 的用户界面(UI) element,它处于选中(checked)状态(适用于单选按钮和复选框)
* E:selected 一个类型为 E 的用户界面(UI) element,它处于被选择(selected)状态(在选择范围内,有一个或多个可供选择的 element )。注意:selected 属性并不在 CSS 的规范内,但jQuery 提供内部支持
* E.myclass 一个类型为 E 的 element,它的 class 类是“myclass”
* E#myid 一个类型为 E 的 element,它的 id 是“myid”
* E:not(s) 一个类型为 E 的 element,并且结果集中的 element 不匹配(不包含)选择器 s(用作过滤)
* E F 一个类型为 F 的 element,它是类型为E 的 element 的子孙 element(注意是子孙 element)
* E > F 一个类型为 F 的 element,它是类型为E 的 element 的子 element(注意是子 element)
* E + F 一个类型为 F 的 element,它是紧跟在类型为E 的 element 后面的一个兄弟 element(注意 F 是 E 的兄弟节点,并且是紧跟随其后的一个)
* E ~ F 一个类型为 F 的 element,它是类型为E 的 element 后面的一个兄弟 element(注意 F 是 E 的兄弟节点,并且位置在E 的后面)
* E,F,G 一个类型为 E 的 element,一个类型为 F 的 element,一个类型为 G 的 element(用于选择多个 element)
1.2 jQuery 支持,但(跟 CSS 规范)有所不同的选择器语法
不同之处是必须在属性名前加上符号“@”
o E[@foo] 一个类型为 E 的 element,它具有属性“foo”
o E[@foo=bar] 一个类型为 E 的 element,它具有属性“foo = bar”
o E[@foo^=bar] 一个类型为 E 的 element,它具有属性“foo“,并且其属性值是以”bar“开头的
o E[@foo$=bar] 一个类型为 E 的 element,它具有属性“foo“,并且其属性值是以”bar“结尾的
o E[@foo*=bar] 一个类型为 E 的 element,它具有属性“foo“,并且其属性值包含”bar“
o E[@foo=bar][@baz=bop] 一个类型为 E 的 element,它具有属性“foo = bar”和属性”baz = bop“
注:以上的“bar”和“bop”均为字符串。
1.3 jQuery 不支持的选择器语法(略)
因为没什么实际的作用,所以这里也不作赘述,想了解详情的可以参阅官方帮助文档。
1.4 Contex 和 Anchoring
可以设置 contex 来 anchor(定位) 选择器,这也是 jQuery 跟 CSS 规范的一个不同之处。用户可以使用语法: $(expr, context) 来设置 context root。默认的 context root 是整个文档。
2. XPath 选择器(XPath Selectors)
XPath 也是 jQuer 支持的选择器语法之一。jQuery 支持基本的 XPath 语法。下面以一些例子作说明。
2.1 定位路径(Location Paths)
o 绝对路径,相对于整个 HTML 文档
$(”/html/body//p”) $(”body//p”) $(”p/../div”)
o 相对路径,相对于设置的 context node “this”
$(”p/*”, this) $(”/p//a”, this)
2.2 支持 Axis 选择器
o “//” : 子孙 elements (div 所有类型为 p 的子孙 elements)
$(”/div//p”) $(”//div//p”)
o “/” : 子 elements (div 所有类型为 p 的子 elements)
$(”//div/p”)
o “~” : 兄弟 elements (div 所有类型为 form 的兄弟 elements)
$(”//div ~ form”)
o ““..”: 父 elements (div 的父 element 下的类型为 p 的子 elements)
$(”//div/../p”)
2.3 支持谓词语法(Predicates)
o [@foo] 具有属性“foo”
$(”//input[@foo]”)
o [@foo=’test’] 具有属性“foo = ‘test’”
$(”//a[@foo = ‘tsxt’]”)
o [Nodelist] 其子孙 elements 匹配 Nodelist(用于过滤)
$(”//div[p]”) $(”//div[p/a]”)
2.4 jQuery 支持,但(跟 XPath 规范)有所不同的谓词语法(Predicates)
o [last()] or [position()=last()] becomes :last(选择结果集中的最后一个 element)
$(”p:last”)
o [0] or [position()=0] becomes :eq(0) or :first(选择结果集中的第个 element)
$(”p:first”) $(”p:eq(0)”)
o [position() < 5] becomes :lt(5)(选择结果集中索引大于5的 elements)
$(”p:lt(5)”)
o [position() > 2] becomes :gt(2)(选择结果集中索引小于2的 elements)
$(”p:gt(2)”)
注:“becomes” 前面的是 XPath 的 predicates 语法,后面是等价的 jQuery 语法。
3. jQuery 自定义的选择器(Custom Selectors)
jQuery 具有一些自定义的选择器语法,这些语法虽然并不在 CSS 和XPath 规范之内,但它们相当的便捷,所在 jQuery 将它们囊括进来。
3.1 自定义选择器(Custom Selectors)
o :even 结果集中其索引为偶数(双数)的 elements
o
dd 结果集中其索引为奇数(单数)的 elements
o :eq(N) and :nth(N) 选择结果集中索引为 N 的 elements
o :gt(N) 选择结果集中索引大于 N 的 elements
o :lt(N) 选择结果集中索引小于 N 的 elements
o :first 选择结果集中的第一个 element (相当于 eq(0) 或者 nth(0))
o :last 选择结果集中的最后一个 element
o :parent 在结果集中选择 elements,它必须具有子 elements(包括文本节点)(跟 :empty 相反)
o :contains(’test’) 选择结果集中包含有指定文本的 elements
o :visible 选择所有可见(visible)的 elements( display 属性的值等于 visible、block、inline,或者 visibility 属性的值等于 visible,不包括 hidden 类型的 elements(关于 hidden 类型,如<input type=”hidden” …>))
o :hidden 选择所有隐藏(visible)的 elements( display 属性的值等于 none,或者 visibility 属性的值等于 hidden,不包括 hidden 类型的 elements(关于 hidden 类型,如<input type=”hidden” …>))
例子:
$(”p:first”).css(”fontWeight”,”bold”); $(”div:hidden”).show(); $(”/div:contains(’test’)”, this).hide();
3.2 表单选择器(Form Selectors)
o :input 选择所有表单 elements(input, select, textarea, button)
o :text 选择所有文本域 (type=”text”).
o :password 选择所有密码域 (type=”password”).
o :radio 选择所有单选按钮 (type=”radio”).
o :checkbox 选择所有复选框 (type=”checkbox”).
o :submit 选择所有提交按钮 (type=”submit”).
o :image 选择所有图像域 (type=”image”).
o :reset 选择所有重置按钮 (type=”reset”).
o :button 选择所有按钮 (type=”button”).
o :file 选择所有 <input type=”file”>.
:hidden 也是可用的,在上面的3.1 节有介绍。
建议在使用表单选择时提供一个 context root,例子:
$(’#myForm :input’)
$(’input:radio’, myForm)
上面最后的一行语句将会选择所有的“myForm”表单里的所有单选按钮,相当于[@type=radio](即 $(”[@type = radio],myForm”)),但用表单选择器会稍微快点,尤其对于大型的表单。
3.3 更多选择器
jQuery 选择器可以通过第三方的插件来扩展:
o More Selectors Plugin
o Mike Alsup on Custom Selectors
o Patch to allow selection by CSS property (full plugin to be released simultaneously with 1.1)
参考资料:
http://docs.jquery.com/DOM/Traversing/Selectors
分享到:
相关推荐
jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码...
jquery-3.7.0.min.js(jQuery下载)jquery-3.7.0.min.js(jQuery下载)jquery-3.7.0.min.js(jQuery下载)jquery-3.7.0.min.js(jQuery下载)jquery-3.7.0.min.js(jQuery下载)jquery-3.7.0.min.js(jQuery下载)...
jquery-3.3.1.js和jquery-3.3.1.min.js免费下载哈。jquery-3.3.1.js和jquery-3.3.1.min.js免费下载哈。jquery-3.3.1.js和jquery-3.3.1.min.js免费下载哈。jquery-3.3.1.js和jquery-3.3.1.min.js免费下载哈。jquery-...
1. 2款jQuery图片自动切换常用广告代码 2. jquery+css五屏焦点图淡入淡出+圆形按钮切换广告图片代码 3. jQuery+CSS实用图片收缩与放大效果插件 4. jquery+div实现同时滑动切换的图文展示特效插件下载 5. ...
开发工具 jquery-1.11.3.min开发工具 jquery-1.11.3.min开发工具 jquery-1.11.3.min开发工具 jquery-1.11.3.min开发工具 jquery-1.11.3.min开发工具 jquery-1.11.3.min开发工具 jquery-1.11.3.min开发工具 jquery-...
开发工具 jquery.dataTables.min开发工具 jquery.dataTables.min开发工具 jquery.dataTables.min开发工具 jquery.dataTables.min开发工具 jquery.dataTables.min开发工具 jquery.dataTables.min开发工具 jquery....
前端+jQuery+实现烟花特效前端+jQuery+实现烟花特效前端+jQuery+实现烟花特效前端+jQuery+实现烟花特效前端+jQuery+实现烟花特效前端+jQuery+实现烟花特效前端+jQuery+实现烟花特效前端+jQuery+实现烟花特效前端+...
资源名称:jquery1.7 中文手册 CHM文档(附jquery1.82 chm手册)内容简介:因国内jquery中文手册更新太慢了,等了一段时间实在等不下去了,干脆自己动手做一个丰衣足食,时刻更新. 最后感谢Shawphy提供1.4.1版,jehn提供...
jQuery打印插件jqprint,jquery.jqprint-0.3.js 下载,内包含使用示例,下载解压可直接在浏览器打开使用。 jQuery打印插件jqprint,jquery.jqprint-0.3.js 下载,内包含使用示例,下载解压可直接在浏览器打开使用。 ...
jquery1.2.3到3.3.1版本都有: jquery-1.10.2.min.js jquery-1.11.1.min.js jquery-1.11.3.min.js jquery-1.2.3.min.js jquery-1.3.2.min.js jquery-1.4.2.min.js jquery-1.4.4.min.js jquery-1.5.2.min.js jquery-...
jquery-1.3.2-vsdoc.js jquery-1.8.3.min.js jquery-1.3.2.min.js jquery-1.4.1-vsdoc.js jquery-1.4.1.min.js jquery-1.4.2-vsdoc.js jquery-1.4.2.min.js jquery-1.4.3-vsdoc.js jquery-1.4.3.min.js ...
组织架构图之JQuery插件组织架构图之JQuery插件组织架构图之JQuery插件组织架构图之JQuery插件组织架构图之JQuery插件组织架构图之JQuery插件组织架构图之JQuery插件组织架构图之JQuery插件组织架构图之JQuery插件...
jQuery入门,jQuery入门,jQuery入门,jQuery入门
jQuery API 3.3.1 中文手册,jQuery是一个JavaScript框架,自面世以来,以其快速、简洁,能够很轻易地处理HTML文档、控制事件、给页面添加动画和Ajax效果等功能使多很多WEB编程者对其非常热爱,本手册旨在帮助广大...
jquery插件库(jquery.treeview插件库)jquery插件库(jquery.treeview插件库)jquery插件库(jquery.treeview插件库)jquery插件库(jquery.treeview插件库)jquery插件库(jquery.treeview插件库)jquery插件库(jquery....
资源名称:jQuery、jQuery UI及jQuery Mobile技巧与示例内容简介:《jQuery、jQuery UI及jQuery Mobile技巧与示例》包括jQuery、jQuery UI、jQuery Mobile以及jQuery插件四部分内容。第一部分介绍jQuery核心库,从...
里面附有: 1.easyUI.rar; 2.jQuery and jQuery UI Reference 1.2 API.zip...9.jquery-ui-1.8.16.custom (jQuery 1.3.2以上版本适用不包含 jQuery 1.3.2).zip; 10.jquery-ui-1.9m3.zip; 11.jquery-ui-17custom.zip;
JavaScript+jQuery 网页特效设计 jQuery(3.4.1)基础 1 jQuery简介 jQuery优势 jQuery安装 jQuery语法 1、jQuery简介 1.1 学习jQuery之前,需要以下基础知识 HTML CSS JavaScript 1、jQuery简介 1.2 什么是jQuery? ...
jquery 精简版 jquery 精简版 jquery 精简版jquery 精简版 jquery 精简版 jquery 精简版 jquery 精简版
jQuery UI 是以 jQuery 为基础的开源 JavaScript 网页用户界面代码库。包含底层用户交互、动画、特效和可更换主题的可视控件。我们可以直接用它来构建具有很好交互性的web应用程序。 编辑本段组件构成 jQuery UI ...