找回密码
 立即注册
查看: 274|回复: 0

jQuery选择器总结(选择器+元素筛选)

[复制链接]
发表于 2022-6-27 09:06 | 显示全部楼层 |阅读模式
文章目录


      一.jQuery 选择器
        1.基本选择器2.层级选择器3.过滤选择器
          3.1基本过滤选择器3.2内容过滤选择器3.3属性过滤选择器3.4可见性过滤选择器3.5状态过滤选择器
        4.表单选择器
      二.jQuery元素筛选所用的一些方法


一.jQuery 选择器

1.基本选择器

    #ID 选择器:根据 id 查找标签对象
    .class 选择器:根据 class 查找标签对象
    element 选择器:根据标签名查找标签对象
    * 选择器:表示任意的,所有的元素
    selector1,selector2 组合选择器:合并选择器 1,选择器 2 的结果并返回
    还有一种是没有逗号的,如$("div.one")表示选取class="one"的<div>,而$("div,.one")表示的是选取所有<div>和所有class="one"的元素
示例:
  1. $("#lastname")//选取id="lastname" 的元素$(".intro")//选取class="intro" 的所有元素$("p")//选取所有 <p> 元素$("*")//选取所有元素$("h1,div,p")//选取所有 <h1>、<div> 和<p> 元素$("div.one")//选取class="one"的<div>$("div,.one")//选取所有<div>和所有class="one"的元素
复制代码
2.层级选择器

    ancestor descendant 后代选择器 :在给定的祖先元素下匹配所有的后代元素,即包括儿子元素,也包括孙子等其他元素parent > child 子元素选择器:在给定的父元素下匹配所有的子元素,只包括儿子元素,不包括孙子等其他元素prev + next 相邻元素选择器:匹配紧接在 prev 元素后的 next 元素 ,如果prev后面紧接者的不是next,则查找失败,如果是next,则只匹配一个紧接在 prev 元素后的 next 元素,而且prev与next之间是兄弟关系。prev ~ sibings prev之后的兄弟元素选择器:匹配 prev 元素之后的所有 siblings 元素 ,而且只匹配prev 元素与 siblings 元素之间是兄弟关系的元素
示例:
  1. $("body div")//选择 body 内的所有 div 元素$("body > div")//在 body 内, 选择为div的子元素$("#one+div")//选择 id 为 one 的下一个 div 元素$("#one~div")//选择 id 为 one 的元素后面的所有 div 兄弟元素
复制代码
3.过滤选择器

3.1基本过滤选择器

    :first 获取第一个元素:last 获取最后个元素:not(selector) 去除所有与给定选择器匹配的元素:even 从 0 开始计数,匹配所有索引值为偶数的元素:odd 从 0 开始计数 匹配所有索引值为奇数的元素:eq(index) 匹配一个给定索引值的元素:gt(index) 匹配所有大于给定索引值的元素:lt(index) 匹配所有小于给定索引值的元素:header 匹配如 h1, h2, h3 之类的标题元素:animated 匹配所有正在执行动画效果的元素
示例:
  1. $("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) 匹配含有选择器所匹配的元素
示例:
  1. $("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] 复合属性选择器,需要同时满足多个条件时使用
示例:
  1. $("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 匹配所有可见元素
示例:
  1. $("li:hidden")//匹配所有不可见的li$("li:visible")//匹配所有可见的li
复制代码
3.5状态过滤选择器

    :enabled 匹配所有可用元素:disabled 匹配所有不可用元素:checked 匹配所有选中的单选,复选,和下拉列表中选中的 option 标签对象:selected 匹配所有选中的 option
示例:
  1. $("input:enabled")// 匹配可用的 input$("input:disabled")// 匹配不可用的 input$("input:checked")// 匹配选中的 input$("option:selected")// 匹配选中的 option
复制代码
4.表单选择器

    :input 匹配所有 input标签元素:text 匹配所有 文本输入框:password 匹配所有的密码输入框:radio 匹配所有的单选框:checkbox 匹配所有的复选框:submit 匹配所有提交按钮:image 匹配所有 img 标签:reset 匹配所有重置按钮:button 匹配所有 input type=button <button>按钮:file 匹配所有 input type=file 文件上传
示例:
  1. $(":input")//匹配所有 input, textarea, select 和 button 元素$(":text")//所有的单行文本框,$(":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) 判断是否匹配给定的选择器,只要有一个匹配就返回truehas(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() 把 add 匹配的选择器的元素添加到当前 jquery 对象中
示例:
  1. $("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的元素
复制代码

<div id="marketingBox" class="marketing-box"><div class="marketing-content">


CSDN 社区图书馆,开张营业!


深读计划,写书评领图书福利~

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2025-5-1 20:06 , Processed in 0.135876 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表