`
zscomehuyue
  • 浏览: 417989 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

jQuery选择器实验室

阅读更多
http://codylindley.com/jqueryselectors/





[翻译]jQuery 选择器的使用
2007-01-20 21:24 by 无常, 10888 visits, 网摘, 收藏, 编辑



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 从匹配的元素集中取序数为偶数的元素
    *dd 从匹配的元素集中取序数为奇数的元素
    * :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)


分享到:
评论

相关推荐

    Jquery实验室的选择器工具

    在这个“jQuery实验室的选择器工具”中,我们将深入探讨jQuery选择器的强大功能,它是jQuery库的核心部分,帮助开发者高效地选取页面上的HTML元素。 ### 1. 基本选择器 jQuery提供了多种基本选择器,如ID选择器(`...

    jquery 实验室

    在提供的实验中,用户可以尝试输入不同的jQuery选择器和命令,实时查看页面上的结果,这对于理解jQuery的工作原理和实践应用非常有帮助。通过这样的动手实验,初学者能够快速提升jQuery技能,进一步提高网页开发效率...

    Jquery选择器分类应用(最全最新)

    jQuery选择器是jQuery库的核心部分,它允许开发者高效地选取DOM元素,进行操作或绑定事件。...记得在jQuery官方文档中查看每个选择器的详细说明,并在jQuery选择器实验室进行实战练习,以便更好地掌握这些知识。

    从零开始学jquery

    #### jQuery选择器实验室 实践是学习的最佳途径。在选择器实验室中,你可以尝试各种选择器,观察它们在不同场景下的表现,从而加深理解。 #### API文档 jQuery的API文档是学习过程中不可或缺的资源,它详细列出了...

    jQuery学习资料

    六 jQuery选择器实验室 19 七.API文档 20 八.总结 20 从零开始学习jQuery (三) 管理jQuery包装集 21 一.摘要 21 二.前言 21 三.动态创建元素 21 四.管理jQuery包装集元素 25 五.常用函数举例 30 六.总结 30 从零开始...

    jquery实战+jquery实验室

    jquery实战+jquery实验室。里边有juqery详细内容的讲解以及,针对所讲解的实例,在实验室平台下的实践。实验室分为两个页面lab.selectors.html针对选择器的学习,lab.wrapped.set.html针对代码的学习。欢迎下载

    Jquery:实验室和演示

    1. **选择器**: jQuery 提供了丰富的CSS选择器,如 `$("#id")`、$(".class")` 和 `$("tag")`,让开发者能轻松地选取HTML元素。 2. **DOM操作**: jQuery 提供了简洁的方法来操作DOM,如 `.append()`(在元素内部添加...

    了解jQuery技巧来提高你的代码

    你可以通过实践和学习jQuery选择器实验室来提升这方面的技能。该实验室提供了各种复杂HTML结构,让你尝试不同的选择器,并检查它们的效果。此外,自定义选择器的练习可以帮助你更好地理解和掌握jQuery选择器的灵活性...

    [jQuery实战第二版].pdf

    - jQuery选择器详解。 2. **核心功能讲解**: - DOM操作技巧,包括添加、删除和修改元素。 - CSS类操作方法。 - 动画效果和jQuery UI的使用。 3. **AJAX集成**: - 使用jQuery进行异步数据加载。 - AJAX请求的...

    jQuery温度计插件

    3. **JavaScript代码**:通过jQuery选择器找到温度计元素,然后根据设定的温度值更新元素的样式,以反映温度的变化。同时,可能包含事件监听器,以响应用户交互或后台数据更新。 **三、使用方法** 要使用jQuery温度...

    [jQuery实战第二版].jQuery.in.Action.2nd.Edition

    - **第二章:选择器和DOM操作** —— 讲解如何使用jQuery进行元素的选择和DOM操作。 - **第三章:事件处理** —— 探讨jQuery提供的各种事件处理机制及其用法。 - **第四章:Ajax** —— 介绍如何利用jQuery轻松实现...

    JQuery实战中文

    前几章通常会涵盖如何引入JQuery库到项目中,JQuery选择器的使用,以及DOM元素的操作。JQuery的选择器系统是其强大之处,它允许开发者用简洁的语法选取页面上的特定元素,如ID选择器(#id)、类选择器(.class)和...

    Jquery mobile 中文开发文档

    - **测试工具(Testing Tools)**:利用模拟器、设备实验室和自动化测试框架进行兼容性测试。 总的来说,jQuery Mobile 中文开发文档提供了详尽的指南,涵盖了从基本概念到高级功能的各个方面,无论您是初学者还是...

    jQuery in Action, 2nd Edition

    - **高可读性**:本书语言清晰易懂,不仅包含了丰富的代码示例,还设计了一系列“实验室页面”(Lab pages),让读者能够通过实践来加深理解。 - **全面覆盖**:从jQuery的基础概念到高级应用,本书都进行了详尽的...

    科学实验室HTML5模板.zip

    CSS3的新特性如选择器(如:nth-child()、:not())、多列布局、过渡(transition)、动画(animation)以及响应式设计(media queries)等,使得网页设计更具表现力和适应性。在科学实验室HTML5模板中,CSS3被用于...

    基于Java的实验室管理系统开题报告参考

    在开发过程中,需要收集相关资料,了解实验室管理需求,选择合适的开发工具(如MyEclipse、Navicat、Tomcat等),并进行软件和硬件的准备。 这个项目具有很高的实用价值,能够广泛应用于各类学校,提高实验教学的...

    科学实验室HTML5模板是一款支持背景样式切换的HTML5科学研究网站模板。_html网站模板_网页源码移动端前端_H.rar

    CSS3还引入了新的选择器、伪类和伪元素,使得设计更为精细且易于维护。 3. **JavaScript**:JavaScript是一种客户端脚本语言,用于增强网页的交互性。在这个模板中,JavaScript可能被用来实现背景样式的切换功能,...

    Lab06-jQuery:Web开发课程实验室#05的​​存储库

    1. **选择器(Selectors)**:jQuery提供了丰富的CSS选择器,如ID选择器 (#id)、类选择器 (.class)、元素选择器 (tagname) 等,用于快速定位DOM元素。此外,还有属性选择器、子元素选择器等,使得元素选取更为精确。...

    浅绿色淡雅科学实验室网站模板下载_科学 实验室 医院 企业 整站 html 纯色 大图_html网站模板_网页源码移动.rar

    在这款模板中,CSS3被广泛运用,通过选择器、类和ID来定位网页元素,并应用相应的样式。淡绿色调的实现、响应式设计以适应不同设备屏幕、以及页面元素的动画效果,都是CSS3功能的体现。此外,CSS3还支持媒体查询,...

Global site tag (gtag.js) - Google Analytics