jQuery 选择器

发布于 2024-05-21 21:35:17 字数 7320 浏览 28 评论 0

jQuery 中所有选择器都以美元符号开头: $()

  • $(":button") 为 jQuery 中表单选择器(貌似与过滤选择器同级),旨在选择所有的按钮,所以会找到 inputbutton 元素;
  • $("button") 则为基本选择器,旨在选择为 button 的标签。
  • 关于 :[] 这两个符号的理解:

: 即为 jQuery 的过滤选择器,语法类似于 css 中的伪类选择器;其过滤选择器大概可以分为基本过滤(p:first 之类)、内容过滤(:empty)、子元素过滤(:first-child) 和属性过滤 [href] 选择器。

[] 很自然的可以理解为属性的意思,如: [href] 选取带有 href 属性的元素。

1.基本选择器

选择器实例选取
*$("*")所有元素
#id$("#lastname")id="lastname" 的元素
.class$(".intro")class="intro" 的所有元素
.*class,*.class$(".intro,.demo")class 为 "intro" 或 "demo" 的所有元素
element$("p")所有 p 元素
*el1*,*el2*,el3$("h1,div,p")所有 h1、div 和 p 元素

2.层次选择器

选择器实例选取
parent > child$("div > p")div 元素的直接子元素的所有 p 元素
parent descendant$("div p")div 元素的后代的所有 p 元素
element + next$("div + p")每个 div 元素相邻的下一个 p 元素
element ~ siblings$("div ~ p")div 元素同级的所有 p 元素

3. 过滤选择器(重点)

选择器实例选取
:first$("p:first")第一个 p 元素
:last$("p:last")最后一个 p 元素
:even$("tr:even")所有偶数 tr 元素,索引值从 0 开始,第一个元素是偶数 (0),第二个元素是奇数 (1),以此类推。
:odd$("tr:odd")所有奇数 tr 元素,索引值从 0 开始,第一个元素是偶数 (0),第二个元素是奇数 (1),以此类推。
:first-child$("p:first-child")属于其父元素的第一个子元素的所有 p 元素
:first-of-type$("p:first-of-type")属于其父元素的第一个 p 元素的所有 p 元素
:last-child$("p:last-child")属于其父元素的最后一个子元素的所有 p 元素
:last-of-type$("p:last-of-type")属于其父元素的最后一个 p 元素的所有 p 元素
:nth-child(*n*)$("p:nth-child(2)")属于其父元素的第二个子元素的所有 p 元素
:nth-last-child(*n*)$("p:nth-last-child(2)")属于其父元素的第二个子元素的所有 p 元素,从最后一个子元素开始计数
:nth-of-type(*n*)$("p:nth-of-type(2)")属于其父元素的第二个 p 元素的所有 p 元素
:nth-last-of-type(*n*)$("p:nth-last-of-type(2)")属于其父元素的第二个 p 元素的所有 p 元素,从最后一个子元素开始计数
:only-child$("p:only-child")属于其父元素的唯一子元素的所有 p 元素
:only-of-type$("p:only-of-type")属于其父元素的特定类型的唯一子元素的所有 p 元素
:eq(*index*)$("ul li:eq(3)")列表中的第四个元素(index 值从 0 开始)
:gt(*no*)$("ul li:gt(3)")列举 index 大于 3 的元素
:lt(*no*)$("ul li:lt(3)")列举 index 小于 3 的元素
:not(*selector*)$("input:not(:empty)")所有不为空的输入元素
:header$(":header")所有标题元素 h1、h2
:animated$(":animated")所有动画元素
:focus$(":focus")当前具有焦点的元素
:root$(":root")文档的根元素
:target$( "p:target" )选择器将选中 ID 和 URI 中一个格式化的标识符相匹配的 p 元素

3.1 内容过滤选择器

选择器实例选取
:contains(*text*)$(":contains('Hello')")所有包含文本 "Hello" 的元素
:has(*selector*)$("div:has(p)")所有包含有 p 元素在其内的 div 元素
:empty$(":empty")所有空元素
:parent$(":parent")匹配所有含有子元素或者文本的父元素。

3.2 可见性过滤选择器

选择器实例选取
:empty$(":empty")所有空元素
:parent$(":parent")匹配所有含有子元素或者文本的父元素。
:hidden$("p:hidden")所有隐藏的 p 元素
:visible$("table:visible")所有可见的表格

3.3 属性过滤选择器

选择器实例选取
:lang(*language*)$("p:lang(de)")所有 lang 属性值为 "de" 的 p 元素
[*attribute*]$("[href]")所有带有 href 属性的元素
[*attribute*=*value*]$("[href='default.htm']")所有带有 href 属性且值等于 "default.htm" 的元素
[*attribute*!=*value*]$("[href!='default.htm']")所有带有 href 属性且值不等于 "default.htm" 的元素
[*attribute*$=*value*]("[href("[href='.jpg']")所有带有 href 属性且值以 ".jpg" 结尾的元素
[*attribute*|=*value*]$("[title|='Tomorrow']")所有带有 title 属性且值等于 'Tomorrow' 或者以 'Tomorrow' 后跟连接符作为开头的字符串
[*attribute*^=*value*]$("[title^='Tom']")所有带有 title 属性且值以 "Tom" 开头的元素
[*attribute*~=*value*]$("[title~='hello']")所有带有 title 属性且值包含单词 "hello" 的元素
[attribute*=value]$("[title*='hello']")所有带有 title 属性且值包含字符串 "hello" 的元素
[*name*=*value*][*name2*=*value2*]( "input[id】[name("input[id】[name='man']" )带有 id 属性,并且 name 属性以 man 结尾的输入框

3.4 状态过滤选择器

选择器实例选取
:enabled$(":enabled")所有启用的元素
:disabled$(":disabled")所有禁用的元素
:selected$(":selected")所有选定的下拉列表元素
:checked$(":checked")所有选中的复选框选项

4. 表单选择器

选择器实例选取
:input$(":input")所有 input 元素
:text$(":text")所有带有 type="text" 的 input 元素
:password$(":password")所有带有 type="password" 的 input 元素
:radio$(":radio")所有带有 type="radio" 的 input 元素
:checkbox$(":checkbox")所有带有 type="checkbox" 的 input 元素
:submit$(":submit")所有带有 type="submit" 的 input 元素
:reset$(":reset")所有带有 type="reset" 的 input 元素
:button$(":button")所有带有 type="button" 的 input 元素
:image$(":image")所有带有 type="image" 的 input 元素
:file$(":file")所有带有 type="file" 的 input 元素

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

三月梨花

暂无简介

0 文章
0 评论
559 人气
更多

推荐作者

玍銹的英雄夢

文章 0 评论 0

我不会写诗

文章 0 评论 0

十六岁半

文章 0 评论 0

浸婚纱

文章 0 评论 0

qq_kJ6XkX

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文