jQuery 选择器

本文详细介绍了jQuery的选择器,包括基本选择器、层次选择器、过滤选择器(如简单过滤、内容过滤、可见性过滤、属性过滤、子元素过滤、表单对象属性过滤)和表单选择器。重点解析了各种选择器的用法和注意事项,帮助读者掌握jQuery选择器的高效使用。
摘要由CSDN通过智能技术生成

jQuery 选择器种类

  1. 基本选择器
  2. 层次选择器
  3. 过滤选择器『简单过滤选择器、内容过滤选择器、可见性过滤选择器、属性过滤选择器、子元素过滤选择器、表单对象属性过滤选择器』
  4. 表单选择器

1. 基本选择器

选择器功能返回值举例
#idid匹配元素单个元素$("#divOne").css(“display”,“block”)
.class类匹配元素元素集合$(".clsFrame").css(“display”,“block”)
element元素名匹配元素元素集合$(“div span”).css(“display”,“block”)
*匹配所有元素元素集合$("*").css(“display”,“block”)
select1,selectN合并匹配元素元素集合$("#divOne,clsFrame").css(“display”,“block”)

2. 层次选择器

选择器功能返回值举例相当于
ancestor descendant根据祖先元素匹配所有的后代元素元素集合$(“div span”).css(“display”,“block”)
parent>child根据父元素匹配所有的子元素元素集合$(“div>span”).css(“display”,“block”)
prev+next匹配紧跟在prev后的的相邻元素元素集合$(“div+span”).css(“display”,“block”).next()
prev~siblings匹配prev之后的所有兄弟元素元素集合$(“div~span”).css(“display”,“block”).nextAll()

注:ancestor descendant与parent>child所选择的元素是不相同的,前者的层次关系是祖先与所有的后代,后者的层次关系是父子关系

3. 过滤选择器

3.1 简单过滤选择器

选择器功能返回值举例相当于better的用法
:first获取第一个元素单个元素$( “tr:first” ).css( “font-style”, “italic” ); 或者 $(“li”).first().css( “background-color”, “red” ).first()$( “li” ).filter( “:first” ).css( “background-color”, “red” );
:last获取最后一个元素单个元素$( “tr:last” ).css({ backgroundColor: “yellow”, fontWeight: “bolder” }); 或者 $(“li”).last().css( “background-color”, “red” ).last()$( “li” ).filter( “:last” ).css( “background-color”, “red” );
:odd获取索引值为奇数的元素,索引值从0开始元素集合$( “tr:odd” ).css( “background-color”, “#bbbbff” );参考:first
:even获取索引值为偶数的元素,索引值从0开始元素集合$( “tr:even” ).css( “background-color”, “#bbbbff” );参考:first
:header获取所有标题类的元素,如h1,h2,h3…元素集合$( “:header” ).css({ background: “#ccc”, color: “blue” });参考:first
:animated根据父元素匹配所有的子元素元素集合$( “div:animated” ).toggleClass( “colored” );参考:first
:lt(index)获取所有小于给定索引值的元素(不包括当前索引值)元素集合$( “td:lt(-2)” ).css( “color”, “red” );$(“selector”).slice(0, index)
:gt(index)获取所有大于给定索引值的元素(不包括当前索引值)元素集合$( “td:gt(4)” ).css( “color”, “red” );$(“selector”).slice(index+1)
:eq(index)获取指定索引值的元素单个元素$( “td:eq( 2 )” ).css( “color”, “red” );.eq(index)
:not(selector)获取除给定选择器外的元素元素集合$( “div” ).not( “.green, #blueone” ).css( “border-color”, “red” );.not()

注:jQuery 1.8 以前的版本不接受 -index

3.2 内容过滤选择器

选择器功能返回值举例相当于结果better的用法
:contains(text)获取包含指定文本的元素元素集合$( “div:contains(‘John’)” ).css( “text-decoration”, “underline” );John Resig
:empty获取所有不包含子元素或者文本的空元素元素集合$( “td:empty” ).text( “Was empty!” ) .css( “background”,“rgb(255,220,200)” );
:parent获取含有子元素或者文本的元素元素集合$( “td:parent” ).fadeTo( 1500, 0.3 );参考:first
:has(selector)获取含有选择器所匹配的元素的元素元素集合$(“div:has§”).addClass(“test”).has(selector)$(“li”).has(“ul”).css(“background-color”,“red”)

注:1. ‘:contains(text)’中的text是大小写敏感的; 2. :empty 与 .empty()功能不一样,:parent 与.parent()功能不一样

3.3 可见性过滤选择器

选择器功能返回值举例相当于结果better的用法
:hidden获取所有不可见元素或者type为hidden的元素元素集合$(“div:hidden”).show(3000)参考:first
:visible获取所有可见元素元素集合$(“div:visible”).css(“background”, “yellow” )参考:first

注:有几种elements可以被认为是hidden,1.css 属性 display:none;2.type=“hidden”;3.元素的宽高都被设置为0;
visibility:hidden, opacity:0被认为是visible的,因为它们在layout中仍然占有space

3.4 属性过滤选择器

属性选择器根据元素的某个属性获取元素,如ID号或者匹配属性值的内容,并以 "[ ]"形式表示。

选择器功能返回值举例相当于better的用法
[attribute]获取包含给定属性元素元素集合$(“div[id]”).css( “font-style”, “italic” )
[attribute=‘value’]获取等于给定属性是某个特定值的元素元素集合$(“div[id=‘hey’]”).next().text( “Hot Fuzz” );
[attribute!=‘value’]获取不等于给定属性是某个特定值的元素元素集合$( “input[name!=‘newsletter’]” ).next().append( “<b>; not newsletter</b>” );:not([attr=‘value’])$( “input” ).not("[name=‘newsletter’]").next().append( “<b>; not newsletter</b>” );
[attribute^=‘value’]获取给定的属性是以某些值开头的元素元素集合$(“input[name^=‘new’]”).val( “news here!” );
[attribute$=‘value’]获取给定的属性是以某些值结尾的元素元素集合$( “input[name$=‘letter’]” ).val( “a letter” );
[attribute*=‘value’]获取给定的属性是以包含某些值的元素元素集合$( “input[name*=‘man’]” ).val( “has man in it!” );
[attributeFilter1][attributeFilter2][attributeFilterN]获取满足多个复合属性的元素元素集合$( “input[id][name$=‘man’]” ).val( “only this one” );

3.5 子元素过滤选择器

用于突出指定某行的需求

选择器功能返回值举例相当于better的用法
:nth-child(index/even/odd/equation)获取某个父元素下的特定位置的元素,索引号从1开始元素集合$( “ul li:nth-child(2)” ).append( “<span> - 2nd!</span>” );
:first-child获取每个父元素下的第一个元素元素集合$( “div span:first-child” ) .css( “text-decoration”, “underline” )
:last-child获取每个父元素下的最后一个元素元素集合$( “div span:last-child” ) .css( “text-decoration”, “underline” )
:only-child获取每个父元素只有一个子元素的元素元素集合$( “div button:only-child” ).text( “Alone” ).css( “border”, “2px blue solid” );

注::nth-child(4n),其中n的值是0,1,2…自然数

3.6 表单对象属性过滤选择器

表单对象属性过滤器通过表单中的某对象属性特征去获取该类元素,如enabled、disabled等属性

选择器功能返回值举例相当于better的用法
:enabled获取表单中所有属性为enabled的元素元素集合$( “input:enabled” ).val( “this is it” );
:disabled获取表单中所有属性为disabled的元素元素集合$( “input:disabled” ).val( “this is it” );
:checked获取表单中所有属性为checked的元素元素集合var n = $( “input:checked” ).length;
:selected获取表单中所有属性为checked的元素元素集合var n = $( “input:checked” ).length;参考:first

注:

  1. The :enabled selector should only be used for selecting HTML elements that support the disabled attribute<button>, <input>, <optgroup>, <option>,<select>, and <textarea>).;
  2. The :disabled selector should only be used for selecting HTML elements that support the disabled attribute (<button>, <input>, <optgroup>, <option>, <select>, <textarea>, <menuitem>, and<fieldset>).
  3. The:selectedselector works for <option> elements,It does not work for checkboxes or radio inputs; use :checked for them.

4. 表单选择器

该选择器专为表单量身打造,通过它可以在页面中快速定位到某表单对象

选择器功能返回值举例相当于better的用法
:input获取表单中所有input、textarea、select和button元素元素集合$( “:input” ).length;$("#myForm").filter(":input")
:text获取type类型为text的input元素元素集合$( “input:text” ).val( “this is it” );[type=“text”]
:password获取type类型为password的所有元素元素集合$(“input:password”).css({background: “yellow”,border: “3px red solid”})[type=“password”]
:radio获取type类型为radio的所有元素元素集合$(“input[name=gender]:radio”)[type=“radio”]
:checkbox获取type类型为checkbox的所有元素元素集合$( “form input:checkbox” ).wrap( “<span></span>” ).parent().css({ background: “yellow”,border: “3px red solid”});[type=“checkbox”]
:submit获取type类型为submit的所有元素元素集合$( “td :submit” ).parent(“td”).css({background: “yellow”,border: “3px red solid”})input[type=“submit”], button[type=“submit”]
:image获取type类型为image的所有元素元素集合$( “input:image” ).css({background: “yellow”,border: “3px red solid”})[type=“image”]
:reset获取type类型为text的reset所有元素元素集合$( “input:reset” ).css({background: “yellow”,border: “3px red solid”})[type=“reset”]
:button获取type类型为button的所有元素以及button类型的所有元素$( “:button” ).addClass( “marked” );$("#myForm").filter(":button")
:file获取type类型为file的元素元素集合$( “input:file” ).css(“background”: “yellow”)[type=“file”]

注:

  1. 在使用:text的时候,最好使用$(input:text),要不然默认的是$( "*:text" )
  2. $( "<input>" ).is( "[type=text]" ); // false; $( "<input>" ).is( ":text" ); // true
  3. 一些浏览器默认<button>元素的type="submit",为了保持所有浏览器解析的一致性,在写<button>的时候,明确type的属性,如<button type="submit">Button type="submit"</button>
    未完待续……
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值