搜索
首页php教程PHP开发jQuery选择器全集详解

jQuery选择器全集详解

Dec 17, 2016 pm 04:22 PM

通俗的讲, Selector选择器就是”一个表示特殊语意的字符串”. 只要把选择器字符串传入上面的方法中就能够选择不同的Dom对象并且以jQuery包装集的形式返回.

但是如何将jQuery选择器分类让 我犯难. 因为书上的分类和jQuery官方的分类截然不同. 最后我决定以实用为主, 暂时不去了解CSS3选择器标准, 而按照jQuery官方的分类进行讲解.

jQuery的选择器支持CSS3选择器标准. 下面是W3C最新的CSS3选择器标准:

http://www.w3.org/TR/css3-selectors/

标 准中的选择器都可以在jQuery中使用.

jQuery选择器按照功能主要分为”选择”和”过滤”. 并且是配合使用的. 可以同时使用组合成一个选择器字符串. 主要的区别是”过滤”作用的选择器是指定条件从前面匹配的内容中筛选, “过滤”选择器也可以单独使用, 表示从全部”*”中筛选. 比如:

$(“:[title]”)

等同于:

$(“*:[title]”)

而” 选择”功能的选择器则不会有默认的范围, 因为作用是”选择”而不是”过滤”.

下面的选择器分类中, 带有”过滤器”的分类表示是”过滤”选择器, 否则就是”选择”功能的选择器.

jQuery选择器分为如下几类:

[说明]
1. 点击”名称”会跳转到此方法的jQuery官方说明文档.
2.可以在下节中的jQuery选择器实验室测试各种选择器

1. 基础选择器 Basics

名称

说明

举例

#id

根据元素Id选择

$(“divId”) 选择ID为divId的元素

element

根据元素的名称选择,

$(“a”) 选择所有元素

.class

根据元素的css类选择

$(“.bgRed”) 选择所用CSS类为bgRed的元素

*

选择所有元素

$(“*”)选择页面所有元素

selector1,
selector2,
selectorN

可以将几个选择器用”,”分隔开然后再拼成一个选择器字符串.会同时选中这几 个选择器匹配的内容.

$(“#divId, a, .bgRed”)

[学习建议]: 大家暂时记住基础选择器即可, 可以直接跳到下一节”jQuery选择器实验室”进行动手练习, 以后再回来慢慢学习全部的选择器, 或者用到的时候再回来查询.

2.层次选择器 Hierarchy

名称

说明

举例

ancestor descendant

使用”form input”的形式选中form中的所有input元素.即ancestor(祖先)为from, descendant(子孙)为input.

$(“.bgRed div”) 选择CSS类为bgRed的元素中的所有

元素.

parent > child

选择parent 的直接子节点child. child必须包含在parent中并且父类是parent元素.

$(“.myList>li”) 选择CSS类为myList元素中的直接子节点

  • 对象.

    prev + next

    prev和next是两个 同级别的元素. 选中在prev元素后面的next元素.

    $(“#hibiscus+img”)选在id为hibiscus元素后面的 img对象.

    prev ~ siblings

    选择prev后面的根据siblings过滤的元素
    注:siblings 是过滤器

    $(“#someDiv~[title]”)选择id为someDiv的对象后面所有带有title属性的元素

    3. 基本过滤器 Basic Filters

    名称

    说明

    举例

    :first

    匹配找到的第 一个元素

    查找表格的第一行:$(“tr:first”)

    :last

    匹配找到的最后一个元素

    查找 表格的最后一行:$(“tr:last”)

    :not(selector)

    去除所有与给定选择器匹配的元素

    查找 所有未选中的 input 元素: $(“input:not(:checked)”)

    :even

    匹配所有索引值为偶数的元 素,从 0 开始计数

    查找表格的1、3、5…行:$(“tr:even”)

    :odd

    匹配所有索引值为奇数 的元素,从 0 开始计数

    查找表格的2、4、6行:$(“tr:odd”)

    :eq(index)

    匹配一个给定 索引值的元素
    注:index从 0 开始计数

    查找第二行:$(“tr:eq(1)”)

    :gt(index)

    匹 配所有大于给定索引值的元素
    注:index从 0 开始计数

    查找第二第三行,即索引值是1和2,也就是比0 大:$(“tr:gt(0)”)

    :lt(index)

    选择结果集中索引小于 N 的 elements
    注:index 从 0 开始计数

    查找第一第二行,即索引值是0和1,也就是比2小:$(“tr:lt(2)”)

    :header

    选 择所有h1,h2,h3一类的header标签.

    给页面内所有标题加上背景色: $(“:header”).css(“background”, “#EEE”);

    :animated

    匹配所有正在执行动画 效果的元素

    只有对不在执行动画效果的元素执行一个动画特效: $(“#run”).click(function(){
    $(“div:not(:animated)”).animate({ left: “+=20″ }, 1000);
    });

    4. 内容过滤器 Content Filters

    名称

    说明

    举例

    :contains(text)

    匹配包含给定文本的 元素

    查找所有包含 “John” 的 div 元素:$(“div:contains(‘John’)”)

    :empty

    匹 配所有不包含子元素或者文本的空元素

    查找所有不包含子元素或者文本的空元素:$(“td:empty”)

    :has(selector)

    匹 配含有选择器所匹配的元素的元素

    给所有包含 p 元素的 div 元素添加一个 text 类: $(“div:has(p)”).addClass(“test”);

    :parent

    匹配含有子元素或者文本的元素

    查 找所有含有子元素或者文本的 td 元素:$(“td:parent”)

    5.可见性过滤器 Visibility Filters

    名称

    说明

    举例

    :hidden

    匹配所有的不可见元 素

    注:在1.3.2版本中, hidden匹配自身或者父类在文档中不占用空间的元素.如果使用CSS visibility属性让其不显示但是占位,则不输入hidden.

    查找所有不可见的 tr 元素:$(“tr:hidden”)

    :visible

    匹配所有的可见元素

    查找所有可见的 tr 元素:$(“tr:visible”)

    6.属性过滤器 Attribute Filters

    名称

    说明

    举 例

    [attribute]

    匹配包含给定属性的元素

    查找所有含有 id 属性的 div 元素:
    $(“div[id]”)

    [attribute=value]

    匹 配给定的属性是某个特定值的元素

    查找所有 name 属性是 newsletter 的 input 元素:
    $(“input[name=’newsletter’]”).attr(“checked”, true);

    [attribute!=value]

    匹配给定的属性是不包含某个特定值的元素

    查找所有 name 属性不是 newsletter 的 input 元素:
    $(“input[name!=’newsletter’]”).attr(“checked”, true);

    [attribute^=value]

    匹配给定的属性是以某些值开始的元素

    $(“input[name^=’news’]”)

    [attribute$=value]

    匹 配给定的属性是以某些值结尾的元素

    查找所有 name 以 ‘letter’ 结尾的 input 元素:
    $(“input[name$=’letter’]”)

    [attribute*=value]

    匹 配给定的属性是以包含某些值的元素

    查找所有 name 包含 ‘man’ 的 input 元素:
    $(“input[name*=’man’]”)

    [attributeFilter1][attributeFilter2][attributeFilterN]

    复合属 性选择器,需要同时满足多个条件时使用。

    找到所有含有 id 属性,并且它的 name 属性是以 man 结尾的:
    $(“input[id][name$=’man’]”)

    7. 子元素过滤器 Child Filters

    名称

    说明

    举例

    :nth-child(index/even/odd/equation)

    匹 配其父元素下的第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)

    在每个 ul 查找第 2 个li:
    $(“ul li:nth-child(2)”)

    :first-child

    匹配第一个子元素

    ‘:first’ 只匹配一个元素,而此选择符将为每个父元素匹配一个子元素

    在每个 ul 中查找第一个 li:
    $(“ul li:first-child”)

    :last-child

    匹配最后一个子元素

    ‘:last’只匹配一个元素, 而此选择符将为每个父元素匹配一个子元素

    在每个 ul 中查找最后一个 li:
    $(“ul li:last-child”)

    :only-child

    如果某个元素是父元素中唯一的子元素,那将会被匹配

    如 果父元素中含有其他元素,那将不会被匹配。

    在 ul 中查找是唯一子元素的 li:
    $(“ul li:only-child”)

    8. 表单选择器 Forms
    名称

    说明

    解释

    :input

    匹配所有 input, textarea, select 和 button 元素

    查找所有的input元素:
    $(“:input”)

    :text

    匹 配所有的文本框

    查找所有文本框:
    $(“:text”)

    :password

    匹配所有密码框

    查 找所有密码框:
    $(“:password”)

    :radio

    匹配所有单选按钮

    查找所有单选按钮

    :checkbox

    匹 配所有复选框

    查找所有复选框:
    $(“:checkbox”)

    :submit

    匹配所有提交按钮

    查 找所有提交按钮:
    $(“:submit”)

    :image

    匹配所有图像域

    匹配所有图 像域:
    $(“:image”)

    :reset

    匹配所有重置按钮

    查找所有重置按钮:
    $(“:reset”)

    :button

    匹 配所有按钮

    查找所有按钮:
    $(“:button”)

    :file

    匹配所有文件域

    查找所 有文件域:
    $(“:file”)

    9.表单过滤器 Form Filters

    名称

    说明

    解 释

    :enabled

    匹配所有可用元素

    查找所有可用的input元素:
    $(“input:enabled”)

    :disabled

    匹 配所有不可用元素

    查找所有不可用的input元素:
    $(“input:disabled”)

    :checked

    匹 配所有选中的被选中元素(复选框、单选框等,不包括select中的option)

    查找所有选中的复选框元素:
    $(“input:checked”)

    :selected

    匹 配所有选中的option元素

    查找所有选中的选项元素:
    $(“select option:selected”)



    更多jQuery选择器全集详解相关文章请关注PHP中文网!

  • 声明
    本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

    热AI工具

    Undresser.AI Undress

    Undresser.AI Undress

    人工智能驱动的应用程序,用于创建逼真的裸体照片

    AI Clothes Remover

    AI Clothes Remover

    用于从照片中去除衣服的在线人工智能工具。

    Undress AI Tool

    Undress AI Tool

    免费脱衣服图片

    Clothoff.io

    Clothoff.io

    AI脱衣机

    AI Hentai Generator

    AI Hentai Generator

    免费生成ai无尽的。

    热门文章

    R.E.P.O.能量晶体解释及其做什么(黄色晶体)
    3 周前By尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O.最佳图形设置
    3 周前By尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O.如果您听不到任何人,如何修复音频
    4 周前By尊渡假赌尊渡假赌尊渡假赌
    WWE 2K25:如何解锁Myrise中的所有内容
    1 个月前By尊渡假赌尊渡假赌尊渡假赌

    热工具

    SecLists

    SecLists

    SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

    ZendStudio 13.5.1 Mac

    ZendStudio 13.5.1 Mac

    功能强大的PHP集成开发环境

    Atom编辑器mac版下载

    Atom编辑器mac版下载

    最流行的的开源编辑器

    PhpStorm Mac 版本

    PhpStorm Mac 版本

    最新(2018.2.1 )专业的PHP集成开发工具

    SublimeText3 Mac版

    SublimeText3 Mac版

    神级代码编辑软件(SublimeText3)