`
a3mao
  • 浏览: 562981 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

jQuery选择器的使用(转载收藏)

    博客分类:
  • Work
阅读更多
jQuery的选择器是CSS 1-3,XPath的结合物。jQuery提取这二种查询语言最好的部分,融合后创造出了最终的jQuery表达式查询语言。如果你了解CSS(绝大部分WEB开发者都用到的),那么你学起来就很容易了。

同时使用CSS和XPath

看几个例子:

隐藏所有包含有链接的段落:

$("p[a]").hide();

显示页面的第一个段落:

$("p:eq(0)").show();

隐藏所有当前可见的层元素:

$("div:visible").hide();

获取所有无序列表的列表项:

$("ul/li")

/* valid too: $("ul > li") */

取得name值为bar的输入字段的值:

$("input[@name=bar]").val();

所有处于选中状态的单选r按钮:

$("input[@type=radio][@checked]")

如果你对查询语言的工作原理还有疑问,可以订阅这里的邮件列表。

CSS查询器

jQuery完全支持CSS1.3。

关于CSS的一些资料查看下面的连接:

CSS 1
CSS 2
CSS 3
下面列出来的是支持的CSS查询器的列表式语法:

* 任何元素
E 类型为E的元素
E:root 类型为E,并且是文档的根元素
E:nth-child(n) 是其父元素的第n个类型为E的子元素
E:first-child 是其父元素的第1个类型为E的子元素
E:last-child  是其父元素的最后一个类型为E的子元素
E:only-child  且是其父元素的唯一一个类型为E的子元素
E:empty 没有子元素(包括text节点)的类型为E的元素
E:enabled
E:disabled 类型为E,允许或被禁止的用户界面元素
E:checked 类型为E,处于选中状态的用户界面元素(例如单选按钮或复选框)
E.warning 类型为E,且class属性值为warning
E#myid 类型为E,ID为 "myid"。(至多匹配一个元素)
E:not(s) 类型为E,不匹配选择器s
E F 在类型E后面的类型为F的元素
E > F 为E元素子元素的F元素
E + F an F element immediately preceded by an E element
E ~ F an F element preceded by an E element
不同之处

所有的属性选择器都被写成和XPath极其相似(因为所有的属性都以@符号开始)。

E[@foo] 拥有foo属性的E元素
E[@foo=bar] foo属性的值为bar的E元素
E[@foo^=bar] foo属性的值以字符串"bar"开始的E元素
E[@foo$=bar] foo属性的值以字符串"bar"结尾的E元素
E[@foo*=bar] foo属性的值包含有字符串"bar"结尾的E元素 
不支持的部分

E:link
E:visited an E element being the source anchor of a hyperlink of which the target is not yet visited (:link) or already visited (:visited)
E:active
E:hover
E:focus an E element during certain user actions
E:target an E element being the target of the referring URI
E::first-line the first formatted line of an E element
E::first-letter the first formatted letter of an E element
E::selection the portion of an E element that is currently selected/highlighted by the user
E::before generated content before an E element
E::after generated content after an E element
jQuery不支持下列的选择器,因为这些没什么用处。

E:nth-last-child(n) an E element, the n-th child of its parent, counting from the last one
E:nth-of-type(n) an E element, the n-th sibling of its type
E:nth-last-of-type(n) an E element, the n-th sibling of its type, counting from the last one
E:first-of-type an E element, first sibling of its type
E:last-of-type an E element, last sibling of its type
E:only-of-type an E element, only sibling of its type
E:lang(fr) an element of type E in language "fr"
XPath 查询器

XPath是jQuery内置支持的一种表达式语言。jQuery支持基本的XPath表达式。

定位路径

绝对路径
$("/html/body//p")
$("/*/body//p")
$("//p/../div")
相对路径
$("a",this)
$("p/a",this)
支持的Axis选择器Descendant Element has a descendant element
$("//div//p")
Child Element has a child element
$("//div/p")
Preceding Sibling Element has an element before it, on the same axes
$("//div ~ form")
Parent Selects the parent element of the element
$("//div/../p")
支持的谓词[@*] 拥有一个属性
$("//div[@*]")
[@foo] 拥有foo属性
$("//input[@checked]")
[@foo='test'] 属性foo值为'test'
$("//a[@ref='nofollow']")
[Nodelist] Element contains a node list, for example:
$("//div[p]")
$("//div[p/a]")
支持的谓词,但与XPath和CSS又不同的

[last()] or [position()=last()]改为:last
$("p:last")
[0] or [position()=0] 改为 :eq(0) or :first
$("p:first")
$("p:eq(0)")
[position() < 5] 改为:lt(5)
$("p:lt(5)")
[position() > 2] 改为:gt(2)
$("p:gt(2)")
定制的选择器

jQuery包含一些在CSS和XPath都不用到的表达式,但我们觉得它们使用起来非常方便,所以包含进来了。

下列的列表式语法基于不同的CSS选择器,但又有非常相似的名字。

:even 从匹配的元素集中取序数为偶数的元素
:odd 从匹配的元素集中取序数为奇数的元素
:eq(0) and :nth(0) 从匹配的元素集中取第0个元素
:gt(4) 从匹配的元素集中取序数大于N的元素
:lt(4) 从匹配的元素集中取序数小于N的元素
:first 相当于 :eq(0)
:last 最后一个匹配的元素
:parent 选择包含子元素(包含text节点)的所有元素
:contains('test') 选择所有含有指定文本的元素
:visible 选择所有可见的元素(display值为block 或者visible 、visibility 值为visible的元素,不包括hide域)
:hidden 选择所有隐藏的元素(非Hide域,且display值为block 或者visible 、visibility 值为visible的元素)
例:

$("p:first").css("fontWeight","bold");
$("div:hidden").show();
$("div:contains('test')").hide();

表单选择器
这是为表单提供的一些选择器:

:input 选择表单元素(input, select, textarea, button)
:text 选择所有文本域(type="text")
:password 选择所有密码域(type="password").
:radio 选择所有单选按钮(type="radio").
:checkbox 选择所有复选框(type="checkbox").
:submit 选择所有提交按钮(type="submit").
:image 选择所有图像域 (type="image").
:reset 选择所有清除域(type="reset").
:button 选择所有按钮(type="button").
同样也可以使用:hidden,详细说明上面已经介绍过。

$('#myForm :input')

如果你需要指定表单:

$('input:radio', myForm)

这将选择myForm表单中所有单选按钮。选择radio通常是用[@type=radio],但是这样用理精简些。

更多的选择器

jQuery选择器可以用一些第三方部件进行扩充:

More Selectors Plugin
Mike Alsup on Custom Selectors
Patch to allow selection by CSS property (full plugin to be released simultaneously with 1.1)


无常翻译:http://wuchang.cnblogs.com
wuChang@guet.edu.cn
QQ: 3263262
Retrieved from "http://www.docs.jquery.com/DOM/Traversing/Selectors"


分享到:
评论

相关推荐

    JQuery选择器测试 离线版

    在jQuery中,选择器分为多种类型,包括基础选择器、类别选择器、ID选择器、属性选择器、后代选择器、子元素选择器、相邻兄弟选择器和通用选择器等。 1. **基础选择器**:主要包括`$()`,用于选取一个或多个DOM元素...

    jQuery基础选择器练习题

    本篇文章将深入探讨jQuery的基础选择器及其在实际编程中的应用,以帮助你更好地理解和掌握这些知识点。 首先,我们来了解一下jQuery的基本选择器。它们是用于选取HTML元素的最基础工具,包括: 1. **ID选择器**: ...

    基于jquery的H5移动端选择器,日期选择器,自定义级联选择器,自定义html选择器

    基于jQuery的H5移动端选择器是为适应移动设备特性和用户体验需求而设计的组件。这些组件通常包括日期选择器、级联选择器和自定义HTML选择器,它们能够提高移动应用的交互性和可操作性。 日期选择器是网页应用中常见...

    jquery选择器入门详解小案例

    jQuery支持多种CSS选择器,包括基本选择器、层次选择器、属性选择器和类选择器等。这些选择器可以帮助我们更精确地定位到我们需要操作的DOM元素。 1. **基本选择器**: - `$("#id")`:通过ID选择元素,例如`$("#...

    jQuery颜色选择器ColorPicker

    **jQuery颜色选择器ColorPicker详解** 在Web开发中,用户界面的交互性和视觉效果往往对用户体验有着重要影响。其中,颜色选择器是一个常见的组件,它允许用户方便地选取颜色。`jQuery ColorPicker`是一个轻量级且...

    jquery周历选择器

    本项目“jquery周历选择器”利用jQuery的灵活性和易用性,构建了一个适用于混合应用程序(Hybrid App)的周历选择器组件。 1. **周历选择器设计**: - 周历选择器通常用于日程管理或时间规划应用,显示一周的日期...

    jQuery选择器的一个Bug

    总之,理解jQuery选择器的工作方式,关注其版本更新中的修复和改进,以及熟练使用开发者工具,都是应对jQuery选择器Bug的关键。在实际开发过程中,我们需要持续学习和适应,以确保我们的代码能够稳定、高效地运行。

    jQuery时间选择器点击选择小时分钟代码

    5. **插件使用**:此外,也有许多预封装的jQuery时间选择器插件,如jQuery UI的Datepicker插件,它可以轻松实现时间选择功能,只需简单的配置即可。 ### 示例代码 以下是一个简单的jQuery时间选择器的实现示例: ...

    jquery 颜色选择器,使用简单

    使用jQuery颜色选择器可以极大地简化网页中的颜色选择功能实现。通过简单的配置和调用,开发者可以快速地创建美观且易用的颜色选择界面。同时,了解并掌握不同插件的特性和配置,有助于在实际项目中做出更合适的选择...

    jquery样式选择器插件源码demo

    jQuery支持多种类型的选择器,包括基本选择器(如ID选择器、类选择器、标签选择器)、属性选择器、伪类选择器以及组合选择器等。这些选择器可以灵活地帮助我们定位页面中的特定元素,进行操作和样式设置。 该插件的...

    jquery 城市选择器

    3. jQuery绑定:使用jQuery的`change`事件监听省份选择器,当用户改变选择时,触发事件处理函数。 4. 动态更新:事件处理函数中,根据选中的省份ID,查询JSON数据,生成并填充城市选择器的选项。 5. 优化用户体验...

    jQuery选择器总结

    jQuery选择器总结,网上下载的,非原创的,仅供参考,学习学习。

    jquery选择器速查表

    jquery选择器功能无比强大,用好了可以起到事半功倍的效果,这个资源把选择器单独列出来,便于方便查找

    Jquery实验室的选择器工具

    虽然jQuery选择器非常强大,但在处理大量元素时,应避免使用过于复杂的选择器,因为这可能影响性能。优先使用ID选择器,其次类选择器,再是属性选择器,尽量减少层级选择器的使用。 ### 实验室实践 在“jQuery实验...

    jquery日期选择器

    3. **初始化插件**:使用jQuery选择器选择该元素,然后调用日期选择器插件的初始化方法,例如`$(selector).dateInput(options);`,其中`options`是可选的配置对象。 4. **配置选项**:根据需求设置日期选择器的配置...

    一个简单的jQuery时间选择器

    【标题】"一个简单的jQuery时间选择器" 描述了如何使用jQuery库来创建一个用户友好的时间选择界面。在Web开发中,特别是涉及到用户输入时间的场景,如预订、会议安排等,拥有一个直观易用的时间选择器可以极大提升...

    jquery城市选择器

    《jQuery城市选择器详解》 在网页开发中,常常需要为用户提供便捷的城市选择功能,以满足用户在填写地址或选择服务区域时的需求。jQuery城市选择器便是为此而设计的工具,它结合了jQuery库的强大功能,实现了高效、...

    jquery双向选择器代码

    为了进一步学习和理解,你可以解压文件,查看其中的JavaScript代码,分析它是如何使用jQuery选择器进行双向操作的。此外,也可以查阅jQuery官方文档和在线教程,以获取更全面的知识和实践指导。 总的来说,掌握...

    城市选择器jquery

    jquery 城市选择器代码

    jQuery商品价格选择器

    《jQuery商品价格选择器详解与应用》 在Web开发中,jQuery库因其简洁易用的API和强大的功能,被广泛应用于各种交互设计中。本文将深入探讨如何利用jQuery实现一个商品价格选择器,以提升用户体验并优化购物过程。 ...

Global site tag (gtag.js) - Google Analytics