w3school css6,w3School jquery学习 选择器

选择器

在jQuery中,我们一般通过一个字符串来标识匹配的元素,例如:

$("#uid"); // 选取id属性为"uid"的单个元素

$("p"); // 选取所有的p元素

$(".test"); // 选择所有带有CSS类名"test"的元素

$("[name=books]"); // 选择所有name属性为"books"的元素

是否感觉这和CSS选择器非常相似?是的,jQuery获取元素就是通过类似于CSS选择器的字符串来匹配对应的元素,我们一般将其称作jQuery选择器(selector)。几乎所有的CSS选择器都可以当做jQuery选择器来使用,只要CSS选择器对哪些元素生效,对应的jQuery选择器就可以选取到哪些元素。

和CSS选择器一样,jQuery选择器也支持多个选择器任意组合使用。

// 多个选择器以空格或指定符号隔开,将匹配与前者具有指定关系的最后一个选择器所表示的元素

$("#uid span"); // 选择id为"uid"的元素的所有后代span元素

$("p > span"); // 选择p元素的所有子代span元素

$("div + p"); // 选择div元素后面紧邻的同辈p元素

$("div p span"); // 选择div元素的所有后代p元素的后代span元素

// 多个选择器之间没有空格,将匹配同时满足这些选择器条件的元素

$("p#uid"); // 选择id属性为"uid"的p元素

$("div.foo"); // 选择所有带有CSS类名"foo"的div元素

$(".foo.bar"); // 选择所有同时带有CSS类名"foo"和"bar"的元素

$("input[name=books][id]"); // 选择所有name属性为"books"并且具备id属性的元素

此外,为了更加便于使用,jQuery还定制了特有的选择器:

// jQuery特有的选择器,当然也可以和其他选择器任意组合使用

$(":checkbox"); // 选取所有的checkbox元素

$(":text"); // 选取所有type为text的input元素

$(":password"); // 选取所有type为password的input元素

$(":checked"); // 选取所有选中的radio、checkbox、option元素

$(":selected"); // 选取所有选中的option元素

$(":input"); // 选取所有的表单控件元素(所有input、textarea、select、button元素)

元素筛选

有些时候,我们已经获得了一个匹配指定DOM元素的jQuery对象。不过我们需要根据jQuery对象来筛选指定的元素。例如:只选取集合中符合某些条件的元素,删除集合中符合某些条件的元素,查找当前匹配元素的子元素、父元素、同辈元素、上一个元素、下一个元素等与之具有特定关系的元素。

jQuery为我们提供了一系列的文档筛选方法,方便我们快速地选取我们所需的元素。

// 以下方法都返回一个新的jQuery对象,他们包含筛选到的元素

$("ul li").eq(1); // 选取ul li中匹配的索引顺序为1的元素(也就是第2个li元素)

$("ul li").first(); // 选取ul li中匹配的第一个元素

$("ul li").last(); // 选取ul li中匹配的最后一个元素

$("ul li").slice(1, 4); // 选取第2 ~ 4个元素

$("ul li").filter(":even"); // 选取ul li中所有奇数顺序的元素

$("div").find("p"); // 选取所有div元素的所有后代p元素

$("div").children(); // 选取所有div元素的所有子代元素

$("div").children("p"); // 选取所有div元素的所有子代p元素

$("span").parent(); // 选取所有span元素的父元素

$("span").parent(".foo.bar"); // 选取所有span元素的带有CSS类名"foo"和"bar"的父元素

$("#uid").prev(); // 选取id为uid的元素之前紧邻的同辈元素

$("#uid").next(); // 选取id为uid的元素之后紧邻的同辈元素

选择器一览表

以下选择器的棕色部分,表示该部分需要根据实际需要进行设置。这些部分可能是一个选择器、序号、索引或者其他符合要求的表达式(表格中s1s2sN中的蓝色s2也是如此,这里标注为蓝色,以便于与两侧的s1和sN进行区分)。

选择器 起始版本 实例 选取

基本选择器——根据多个选择器的组合筛选元素

s1,s2,sN 1.0 $("p,div,#abc") 所有的p元素、div元素和id="abc"的元素

s1s2sN 1.0 $(":radio[name=uid]:checked") 所有被选中的name="uid"的radio元素

ancestor escendant 1.0 $("p span")

标签内的所有元素

parent > child 1.0 $("p > span") 所有作为

标签的直接子元素的元素

prev + next 1.0 $("label + input") 所有紧跟在元素后面的那个同辈元素

prev ~ sibings 1.0 $("tr#L2 ~ tr") 在id="L2"的

元素之后的所有同辈元素

基本选择器——根据id、class类名、标签名等筛选元素

1.0 $("*") 所有元素

id 1.0 $("#abc") id="abc"的元素

.className 1.0 $(".post") 所有包含类名"post"的元素

tagName 1.0 $("p") 所有

元素

伪类选择器——根据元素在匹配到的所有元素中的特定次序筛选元素

:first 1.0

$("p:first") 第一个

标签

:last 1.0 $("p:last") 最后一个

标签

:even 1.0 $("tr:even") 所有偶数

标签

:odd 1.0 $("tr:odd") 所有奇数

标签

:eq(index) 1.0

$("li:eq(3)") 第4个li标签(index从0开始算起)

:gt(index) 1.0 $("li:gt(2)") 所有index大于2的li标签(第4、5、6……个li标签)

:lt(index) 1.0 $("li:lt(2)") 所有index小于2的li标签(第1、2个li标签)

伪类选择器——根据元素在父元素的子元素中的特定次序筛选元素

:first-child 1.1.4 $("span:first-child") 所有作为父元素的第一个子元素的元素

:last-child 1.1.4 $("span:last-child") 所有作为父元素的最后一个子元素的元素

:only-child 1.1.4 $("span:only-child") 所有作为父元素的唯一子元素的元素

:nth-child(n) 1.1.4 $("li:nth-child(2)") 所有作为父元素的第2个子元素的

标签(n从1开始算起)

:nth-last-child(n) 1.9 $("li:nth-last-child(2)") 所有作为父元素的倒数第2个子元素的

标签

:first-of-type 1.9 $("p:first-of-type") 所有作为父元素的第一个

类型的子元素

:last-of-type 1.9 $("p:last-of-type") 所有作为父元素的最后一个

类型的子元素

:only-of-type 1.9 $("p:only-of-type") 所有作为父元素的唯一一个

类型的子元素

:nth-of-type(n) 1.9 $("li:nth-of-type(2)") 所有作为父元素的第2个

类型的子元素(n从1开始算起)

:nth-last-of-type(n) 1.9 $("li:nth-last-child(2)") 所有作为父元素的倒数第2个

类型的子元素

伪类选择器——根据包含、排除、可见、动画或其他关系筛选元素

:has(selector) 1.1.4 $("ul:has(li.abc)") 所有包含类名为"abc"的

标签的
  • 元素

:not(selector) 1.0 $("input:not(:text)") 所有不是文本框的元素

:contains(text) 1.1.4 $(":contains(abc)") 所有包含文本"abc"的元素

:parent 1.0 $(":parent") 所有包含子元素或文本内容(哪怕是空格或换行)的元素

:empty 1.0 $(":empty") 所有没有子元素和文本内容(哪怕是空格或换行)的元素

:visible 1.0 $(":visible") 所有可见的元素

:hidden 1.0 $(":hidden") 所有不可见的元素(包括type="hidden"的元素)

:header 1.2 $(":header") 所有标题标签:h1 ~ h6

:animated 1.2 $(":animated") 所有正在执行动画效果的元素

:focus 1.6 $(":focus") 当前获得焦点的元素

:root 1.9 $(":root") 当前文档的根元素(元素)

:target 1.9 $(":target") id属性等于当前页面URI中的hash码值的元素

:lang(language) 1.9 $(":lang(en)") 所有lang属性以"en"为前缀的元素

属性相关选择器

[attribute] 1.0 $("[href]") 所有带有href属性的元素

[attribute=value] 1.0 $("[name=uid]") 所有name="uid"的元素

[attribute!=value] 1.0 $("[name!=uid]") 所有name属性的值不等于"uid"的元素

[attribute^=value] 1.0 $("[name^=uid]") 所有name属性的值以"uid"开头的元素

[attribute$=value] 1.0 $("[src$=".gif"]") 所有src属性以".gif"结尾的元素

[attribute=value] 1.0 $("[name=uid]") name属性的值等于"uid",或以"uid-"开头的所有元素

[attribute~=value] 1.0 $("[name~="uid"]") name属性的值包含给定的单词"uid"的所有元素("uid"与其他词以空格分隔)

[attribute=value] 1.0 $("[name=uid]") 所有name属性的值包含"uid"的元素

伪类选择器——表单相关

:input 1.0 $(":input") 所有input、select、textarea和button标签

:text 1.0 $(":text") 所有type="text"的元素

:password 1.0 $(":password") 所有type="password"的元素

:radio 1.0 $(":radio") 所有type="radio"的元素

:checkbox 1.0 $(":checkbox") 所有type="checkbox"的元素

:submit 1.0 $(":submit") 所有type="submit"的和元素

:reset 1.0 $(":reset") 所有type="reset"的元素和元素

:button 1.0 $(":button") 所有标签(不区分type)和type="button"的元素

:image 1.0 $(":image") 所有type="image"的元素

:file 1.0 $(":file") 所有type="file"的元素

伪类选择器——表单状态相关(表单控件是指input、select、textarea、button、option元素)

:enabled 1.0 $(":enabled") 所有可用(没有disabled属性)的表单控件元素

:disabled 1.0 $(":disabled") 所有禁用(带有disabled属性)的表单控件元素

:selected 1.0 $(":selected") 所有被选中的元素

:checked 1.0 $(":checked") 所有被选中的radio、checkbox和元素

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值