jQuery 选择器(二)

内容过滤选择器

jQuery 的内容过滤选择器具有以下几种:

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

用法示例:

body 部分

<body>
    <div>这是一块测试 div </div>
    <div></div>
    <div>
        <div id="child"></div>
    </div>    
</body>

JavaScript 部分

<script>
    // 匹配包含给定文本的元素
    console.log($('div:contains("di")'));
    // 匹配所有不包含子元素或者文本的空元素
    console.log($('div:empty'));
    // 匹配含有子元素或者文本的元素
    console.log($('div:parent'));
</script>

上述代码效果如下图所示:

https://gitee.com/project_almanac/change/raw/master/jQuery/8AaBPC@irYyv.png

:has() 表示包含匹配指定选择器元素的父级元素

 console.log($('div:has("#child")')[0]);

可见性过滤选择器

jQuery 的可见性过滤选择器具有以下几种:

选择器描述
:hidden 过滤选择器匹配所有不可见元素,或者 typehidden 的元素
:visible 过滤选择器匹配所有的可见元素

body 部分

<body>
    <div id="d1">启嘉网</div>
    <div id="d2">学编程,就是好</div>
    <input type="hidden" value="用户名">
</body>
  • :hidden 选择器
    • 不能匹配 CSS 样式元素 visibility 设置为 hidden 的隐藏元素
    • 还能匹配 HTML 页面中不做任何显示效果的元素
    • 用法 - 尽量确定元素类型或指定范围
console.log($(':hidden'));
  • :visible 选择器
    • 匹配 CSS 样式属性 visibility 设置为 hidden 的隐藏元素
      • 当 visibility 设置为 hidden 时的元素,依旧占有页面空间
    • 还能匹配 HTML 页面中 和 元素
console.log($(':visible'));

属性过滤选择器

jQuery 的属性过滤选择器具有以下几种:

选择器描述
[attr] 过滤选择器匹配包含给定属性的元素
[attr=value] 过滤选择器匹配给定的元素是某个特定值的元素
[attr!=value] 过滤选择器匹配所有不含有指定的元素,或者属性不等于特定值的元素
[attr^=value] 过滤选择器匹配给定的属性是以某些值开始的元素
[attr$=value] 过滤选择器匹配给定的属性是以某些值结尾的元素
[attr*=value] 过滤选择器匹配给定的属性是以包含某些值的元素
组合属性过滤选择器匹配元素需要同时满足多个属性过滤选择器

用法示例:

<div id="username" name="d1" class="mydiv"></div>
<div id="password" name="d2" class="mycls"></div>
<div id="d3"></div>
<div class="myd"></div>
console.log($('div[name]'));
console.log($('div[class=mydiv]')); 
console.log($('div[class!=mydiv]'));
console.log($('div[class^=my]'));
console.log($('div[name=d1][class^=my]'));
  • [attr!=value] 选择器 - 包含没有 attr 属性的元素
  • 属性过滤选择器组合用法:交集

上述代码运行效果如下图所示:

https://gitee.com/project_almanac/change/raw/master/jQuery/wdGawg*WuABF.png

子元素过滤选择器

jQuery 的子元素过滤选择器具有以下几种:

选择器描述
:nth-child() 过滤选择器匹配其父元素下的第 N 个子或奇偶元素
:first-child 过滤选择器匹配第一个子元素
last-child 过滤选择器匹配最后一个子元素
only-child 过滤选择器如果某个元素是父元素中唯一的子元素,那么将会被匹配

用法示例:

body 部分

<body>
    <div id="parent">
        <div id="d1">这是 id 为 d1 的 div 元素</div>
        <div id="d2">这是 id 为 d2 的 div 元素</div>
        <div id="d3">这是 id 为 d3 的 div 元素
            <div id="child"></div>
        </div>
    </div>
</body>

JavaScript 部分

console.log($('div:first-child'));
console.log($('div:last-child'));

console.log($('div:only-child'));

:nth-child(index) 过滤选择器,用于匹配当前元素作为第 index 个子元素,但是 index 是从 1 开始,表示第几个

console.log($('div:nth-child(1)'));

https://gitee.com/project_almanac/change/raw/master/jQuery/K8n4Kh!dpG5x.png

表单对象属性过滤选择器

jQuery 的表单对象属性过滤选择器具有以下几种:

选择器描述
:enabled 过滤选择器匹配所有可用元素
:disabled 过滤选择器匹配所有不可用元素
:checked 过滤选择器匹配所有选中的被选中元素(复选框、单选框等)
selected 过滤选择器匹配所有选择的 <option> 元素

用法示例:

console.log($('input:disabled'));
console.log($('input:checked'));
console.log($('option:selected'));

上述代码效果如下图所示:

https://gitee.com/project_almanac/change/raw/master/jQuery/jWvc8N7f0S

表单选择器

jQuery 的表单选择器具有以下几种:

选择器描述
:input 选择器匹配所有 inputtextareaselectbutton 元素
:text 选择器匹配所有的单行文本框
:password 选择器匹配所有密码框
:radio 选择器匹配所有单选按钮
:checkbox 选择器匹配所有复选框
:sumit 选择器匹配所有提交按钮
:reset 选择器匹配所有重置按钮
:button 选择器匹配所有按钮
:file 选择器匹配所有文件域
:image 选择器匹配图像域

用法同上述选择器类似

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值