首页 前端知识 jQuery-选择器

jQuery-选择器

2024-06-25 23:06:00 前端知识 前端哥 913 571 我要收藏

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

一、基本选择器

1.1元素选择器

1.2#id 选择器

1.3.class 选择器

二、层级选择器

三、过滤选择器

3.1基本过滤选择器

3.2内容过滤选择器

3.3属性过滤选择器

3.4可见性过滤选择器

3.5状态过滤选择器

4.表单选择器

一、基本选择器

元素选择器

jQuery 元素选择器基于元素名选取元素。

eg:

$("*")                                //选取所有元素

$("p")                               //在页面中选取所有 <p> 元素

$("h1,div,p")                    //选取所有 <h1>、<div> 和<p> 元素

$(this)                              //  选取当前 HTML 元素

#id 选择器

jQuery #id 选择器通过 元素的 id 属性选取指定元素。

eg:通过 id 选取元素语法如下:

$("#test")

.class 选择器

jQuery 类选择器可以通过指定的 class 查找元素。

语法如下:

$(".test")

$("div.one")                               //选取class="one"的<div>元素

$("div,.one")                              //选取所有<div>和所有class="one"的元素

更多实例

$("p.intro")                          选取 class 为 intro 的 <p> 元素

$("p:first")                           选取第一个 <p> 元素

$("ul li")                               选取所有<ul> 元素的所有 <li> 元素

$("ul li:first")                        选取第一个 <ul> 元素的第一个 <li> 元素

$("ul li:first-child")                选取每个 <ul> 元素的第一个 <li> 元素

$("[href]")                             选取带有 href 属性的元素

$("a[target='_blank']")          选取所有 target 属性值等于 "_blank" 的 <a> 元素

$("a[target!='_blank']")         选取所有 target 属性值不等于 "_blank" 的 <a> 元素

<a href="http://www.runoob.com/html/" target="_blank">HTML 教程</a>

$(":button")                         选取所有 type="button" 的 <input> 元素 和 <button> 元素

二、层级选择器

ancestor descendant    后代选择器 :                                       所有后代元素,包括儿子孙子
parent > child      子元素选择器:                                               所有儿子元素,不包括孙子
prev + next          相邻元素选择器:                                            后面直接兄弟元素;
prev ~ sibings     prev之后的兄弟元素选择器:                         后面所有兄弟元素

$("body div") // body 内所有 div 元素
$("body > div") // body div的儿子元素不包括孙子
$("#one+div") //选择 id = one 后面直接div 元素 (*代码必须紧接着是div)
$("#one~div") //选择 id =one 后面所有 div 兄弟元素


三、过滤选择器

3.1基本过滤选择器


:first 获取第一个元素                                                              //$("p:first")    选取第一个 <p> 元素
:last 获取最后个元素                                                      //  $("p:last") 选取最后一个 <p>

:eq(index) 匹配给定索引值的元素                       //$("li:eq(4)")    下标等于 4 的li(第五个 li 元素)
:gt(index) 匹配所有大于给定索引值的元素               //$("li:gt(2)") //下标大于 2 的li
:lt(index) 匹配所有小于给定索引值的元素                //$("li:lt(2)") //下标小于 2 的li


:not(selector) 去除所有与给定选择器匹配的元素                                                        //$("li:not(#runoob)")   挑选除 id="runoob" 以外的所有li


:even 从 0 开始计数,匹配所有索引值为偶数的元素         //$("tr:even") 选取偶数位置的 <tr> 元素
:odd 从 0 开始计数 匹配所有索引值为奇数的元素            // $("tr:odd") 选取奇数位置的 <tr> 元素


 


:header 匹配如 h1, h2, h3 之类的标题元素
:animated 匹配所有正在执行动画效果的元素
示例:

$("li:first")    //第一个li
$("li:last")     //最后一个li
$("li:not(#runoob)") //挑选除 id="runoob" 以外的所有li
$("li:even")     //挑选下标为偶数的li
$("li:odd")      //挑选下标为奇数的li
$("li:eq(4)")    //下标等于 4 的li(第五个 li 元素)
$("li:gt(2)")    //下标大于 2 的li
$("li:lt(2)")    //下标小于 2 的li
$(":header")     //选择所有的标题元素
$(":animated")   //选择当前正在执行动画的所有元素

3.2内容过滤选择器

  • :contains(text)        匹配包含给定文本的元素
  • :empty              匹配所有不包含子元素或者文本的空元素
  • :parent                                   匹配含有子元素或者文本的元素
  • :has(selector)                      匹配含有选择器所匹配的元素

示例:

$("div:contains('Runob')")    // 包含 Runob文本的div元素
$("td:empty")                 //不包含子元素或者文本 的空td元素
$("td:parent")                //选择含有子元素或者文本 的td元素
$("div:has(.one)")        //选择含有 class 为 one 元素的 div 元素

3.3属性过滤选择器

[attribute]                                                                          包含给定属性的元素
[attribute=value]                                                               给定属性是某个特定值的元素
[attribute!=value] 所有属性不等于特定值的元素,或者不含有该属性的元素(没有属性attribute的也将被选中)
[attribute^=value]                                                             给定属性是以某些值开始的元素
[attribute$=value]                                                             给定属性是以某些值结尾的元素
[attribute*=value]                                                             给定属性是以包含某些值的元素
[attrSel1][attrSel2][attrSelN]                                             复合属性选择器,同时满足多个条件

示例:

$("div[id]")        //所有含有 id 属性的 div 元素
$("div[id='123']")        // id属性值为123的div 元素
$("div[id!='123']")        // id属性值不等于123的div元素,或者不含有id属性的div元素
$("div[id^='aa']")        // id属性值以aa开头的div 元素
$("div[id$='zz']")        // id属性值以zz结尾的div 元素
$("div[id*='bb']")        // id属性值包含bb的div 元素
$("div[id][title*='es']") //首先选取有属性id的div元素,然后在结果中选取属性title值含有'es'的 div 元素

3.4可见性过滤选择器


:hidden 匹配所有不可见元素
:visible 匹配所有可见元素
示例:

$("li:hidden")       //匹配所有不可见的li
$("li:visible")      //匹配所有可见的li


3.5状态过滤选择器


:enabled 匹配所有可用元素
:disabled 匹配所有不可用元素
:checked 匹配所有选中的单选,复选,和下拉列表中选中的 option 标签对象
:selected 匹配所有选中的 option
示例:

$("input:enabled")    // 匹配可用的 input
$("input:disabled")   // 匹配不可用的 input
$("input:checked")    // 匹配选中的 input
$("option:selected")  // 匹配选中的 option

获取选中下拉框$("选择器> option:selected" )


4.表单选择器

语法:$(":type属性值") 
:input                     所有input标签元素
:text                       所有文本输入框
:password              所有密码输入框
:radio                     所有单选框
:checkbox              所有的复选框
:submit                  所有提交按钮
:image                   所有 img 标签
:reset                     所有重置按钮
:button                   所有 input type=button <button>按钮
:file                        所有 input type=file 文件上传
示例:

$(":input")      //匹配所有 input, textarea, select 和 button 元素
$(":text")       //所有单行文本框, 等价于$("[type=text]"),推荐使用$("input:text")效率更高,下同
$(":password")   //所有密码框
$(":radio")       //所有单选按钮
$(":checkbox")   //所有复选框
$(":submit")     //所有提交按钮
$(":image")      //所有带有 type="image" 的 input 元素
$(":reset")      //所有重置按钮
$(":button")     //所有button按钮
$(":file")       //所有文件域

二.jQuery元素筛选所用的一些方法
eq()                                        获取给定索引的元素 ;功能跟 :eq() 一样
first()                                      获取第一个元素 ;功能跟 :first 一样
last()                                      获取最后一个元素 ; 功能跟 :last 一样
filter(exp)                               留下匹配的元素
is(exp)                                   判断是否匹配给定的选择器,只要有一个匹配就返回true
has(exp)                                返回包含有匹配选择器的元素的元素 ;功能跟 :has 一样
not(exp)                                 删除选择器的元素;功能跟 :not 一样
children(exp)                         返回给定选择器的子元素 ;功能跟 parent>child 一样
find(exp)                                返回给定选择器的后代元素 ;功能跟 ancestor descendant 一样
next()                                     返回下一个兄弟元素 ;功能跟 prev + next 功能一样
nextAll()                                 返回当前元素后面所有的兄弟元素 ;功能跟 prev ~ siblings 功能一样
nextUntil()                              返回当前元素到指定匹配的元素为止的后面元素
parent()                                  返回父元素
prev(exp)                               返回当前元素的上一个兄弟元素
prevAll()                                 返回当前元素前面所有的兄弟元素
prevUnit(exp)                         返回当前元素到指定匹配的元素为止的前面元素
siblings(exp)                           返回所有兄弟元素
add()                                       把匹配选择器的元素添加到当前 jquery 对象中


示例:

$("div").eq(3) //选择索引值为等于 3 的 div 元素
$("div").first() //选择第一个 div 元素
$("div").last() //选择最后一个 div 元素
$("div").filter(":even") //在div中选择索引为偶数的
$("#one").is(":empty") //判断#one是否为:empty或:paren
$("div").has(".one") //选择div中包含.one的
$("div").not('.one') //选择div中class不为one的
$("body").children("div.one") //在body中选择所有class为one的div子元素
$("body").find("div.mini") //在body中选择所有class为mini的div元素
$("#one").next("div") //#one的下一个div
$("#one").nextAll("span") //#one后面所有的span元素
$("#one").nextUntil("span") //#one和span之间的元素 
$(".one").parent() //.one的父元素
$("#two").prev("div") //#two的上一个div
$("span").prevAll("div") //span前面所有的div
$("span").prevUntil("#one") //span向前直到#one的元素
$("#two").siblings() //#two的所有兄弟元素
$("span").add("#two").add("#one") //选择所有的 span 元素和id为two的元素
 

转载请注明出处或者链接地址:https://www.qianduange.cn//article/13531.html
标签
评论
发布的文章

JSON、Ajax

2024-07-27 22:07:31

JsonNode、ObjectNode和ArrayNode

2024-07-27 22:07:30

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!