为了账号安全,请及时绑定邮箱和手机立即绑定

有个疑问,既然是选择指定元素名称的全部元素,那和直接加空格有什么区别。例如: $("li label")

正在回答

2 回答

<!DOCTYPE html>
<html>
<head>
    <title>:has(selector)过滤选择器</title>
    <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js" type="text/javascript"></script>
</head>
<body>
    <div>改变包含"label"元素的背景色:</div>
    <ol>
        <li style="border:1px solid red"><p><span style="border:1px solid red">我是P先生</span></p></li>
        <li><label>L妹纸就是我</label></li>
        <li><p>我也是P先生</p></li>
        <li><label>我也是L妹纸哦</label></li>
        <li><p>P先生就是我哦</p></li>
    </ol>
</body>
<script type="text/javascript">
   
    $("li span").css("background", "blue");
    $("li:has(span)").css("border", "2px solid green");
    $("li:has(label)").css("border", "2px solid green");
    
</script>
</html>

一个是后代选择器,选择的是子代span;
一个是包含这个后代的元素,如$("li:has(span)").css("border", "2px solid green");选择的是li.


2 回复 有任何疑惑可以回复我~

+1

还有 has(labell)  的label 要不要引号(试了下都可以)

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
jQuery基础课程
  • 参与学习       154768    人
  • 解答问题       7184    个

加入课程学习,有效提高前端开发速度

进入课程
意见反馈 帮助中心 APP下载
官方微信