前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JavaScript 学习-43.jQuery 选择器

JavaScript 学习-43.jQuery 选择器

作者头像
上海-悠悠
发布2022-06-14 14:11:03
6160
发布2022-06-14 14:11:03
举报

前言

jQuery 选择器基于元素的 id、类、类型、属性、属性值等”查找”(或选择)HTML 元素。它基于已经存在的 CSS 选择器,除此之外,它还有一些自定义的选择器。

jQuery 选择器

jQuery 中所有选择器都以美元符号开头:$() 常用的一些选择器总结

语法

描述

$(this)

选取当前 HTML 元素

$("*")

选取所有元素

$("p")

匹配  <p> 标签元素

$("#kw")

匹配属性 id="kw" 的元素

$(".info")

选取 class 属性为 info 的元素

$("p.intro")

选取 class 为 intro 的 <p>元素

$("p:first")

选取第一个<p> 元素

$("ul li:first")

选取第一个 <ul> 元素的第一个 <li> 元素

$(“ul li:last”)

选取每个 <ul> 元素的最后一个 <li> 元素

$("[href]")

选取带有 href 属性的元素

$("a[target='_blank']")

选取所有 target 属性值等于 “_blank” 的 <a> 元素

$("a[target!='_blank']")

选取所有 target 属性值不等于 “_blank” 的<a> 元素

$(":button")

选取所有 type="button" 的 <input> 元素 和 <button> 元素

$("tr:even")

选取偶数位置的 <tr> 元素

$("tr:odd")

选取奇数位置的<tr> 元素

$('[name^="value"]')

匹配 name 以 value 开头的元素

$('[name$="end"]')

匹配 name 以 end 结尾的元素

$('[class*="text"]')

匹配class属性包含text的元素

$('#demo>p')

子代选择器,通过父元素找子元素

$('#demo p')

后代选择器,通过父元素找子孙元素

$('#p1+div')

兄弟相邻选择器,通过定位当前元素,找到同一层级的下一个兄弟元素

$('#p1~div')

同辈选择器,,通过定位当前元素,找到同一层级的该元素后面的全部兄弟元素

$('p, div')

p标签和div标签元素

基础选择器

jQuery 查找元素语法,主要是基于css 选择器

  • 根据标签匹配,不用加符号,直接是标签名称,如:p div input
  • 根据id属性匹配,前面加#号,如:#kw
  • 根据class 属性匹配。前面加点,如:.info
  • 根据其它属性定位,加中括号,如:[name="user"]

上面基本属性可以任意组合如:p.info div#kw [name="user"]

示例

代码语言:javascript
复制
<div id="demo">
    <p class="text-info">hello world</p>
    <form>
        <p id="p1" class="text-info">用户登录</p>
        <div>
            <label for="user">用户名</label>
            <input id="user" type="text" name="username" placeholder="请输入">
        </div>
        <div>
            <input type="submit" value="提交按钮">
        </div>
    </form>
</div>

jquery 查找元素示例

代码语言:javascript
复制
    var p1 = $('p');      // 查找p标签元素
    console.log(p1);
    var p2 = $('.text-info');     // 查找class="text-info"
    console.log(p2);
    var d1 = $('#demo');      // 查找 id="demo"
    console.log(d1);
    var b = $('[type="submit"]');      // 查找 type="submit"
    console.log(b);
    var p3 = $('p.text-info');     // 查找class="text-info"的p标签
    console.log(p3);

父子层级选择器

通过父子层级关系查找元素

  • 1.子代选择器, 如#demo>p
  • 2.后代选择器, 如#demo p
  • 3.兄弟相邻选择器, 如#p1+div
  • 4.同辈选择器, 如#p1~div

子代选择器,通过父元素找子元素用大于号>

代码语言:javascript
复制
 // 父元素找子元素
    var a1 = $('#demo>p')  // 找出id为demo的 的子元素p
    console.log(a1)
    var a2 = $('div>input')  // 找出div的子元素input
    console.log(a2)

后代选择器,通过父元素找子孙元素,中间用空格

代码语言:javascript
复制
    // 后代选择器 
    var a1 = $('#demo p');   // id为demo的后代p元素 (包含子元素和子孙元素)
    console.log(a1)

兄弟相邻选择器,通过定位当前元素,找到同一层级的下一个兄弟元素,中间用加号+

代码语言:javascript
复制
  // 兄弟元素选择器
    var d = $('#p1+div'); //查找id=p1的下一个兄弟div
    console.log(d)

同辈选择器,,通过定位当前元素,找到同一层级的该元素后面的全部兄弟元素,中间用~

代码语言:javascript
复制
  // 兄弟元素选择器
    var d = $('#p1~div'); //查找id=p1的全部div兄弟元素
    console.log(d)

first 和 last

从查询结果筛出第一个和最后一个元素

代码语言:javascript
复制
    var p1 = $('p:first'); //查找 第一个p元素
    console.log(p1)
    var p2 = $('p:last'); //查找 最后一个p元素
    console.log(p2)

模糊匹配

模糊匹配属性以什么开头和以什么结尾的元素

代码语言:javascript
复制
    var p1 = $('[class^="text"]'); // 匹配以text开头的class属性
    console.log(p1)
    var p2 = $('[class$="info"]'); //匹配以info结尾的class属性
    console.log(p2)

匹配属性包含指定字符的元素

代码语言:javascript
复制
   var p3 = $('[class*="text"]'); // 匹配包含text的class属性
    console.log(p3)
    var p4 = $('[class*="info"]'); //匹配包含info的class属性
    console.log(p4)
    var p5 = $('[class*="t-in"]'); //匹配包含t-in的class属性
    console.log(p5)

匹配多个

匹配多个元素中间逗号隔开

代码语言:javascript
复制
var p3 = $('p, div'); // p标签和div标签元素

2022年第 11 期《python接口web自动化+测试开发》课程,6月5号开学

《JMeter 性能测试实战》课程6月15号开学

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-06-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 从零开始学自动化测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • jQuery 选择器
  • 基础选择器
  • 父子层级选择器
  • first 和 last
  • 模糊匹配
  • 匹配多个
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档