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

这里的$("li:has('label')")和$("li>label")是一样的效果

正在回答

2 回答

这个简单是实例看起来效果是一样的,但是具体是有区别的。   :has(selector)过滤选择器的功能是获取选择器中包含指定元素名称的全部元素,例如:$("li:has('label')")选择器代码,获取了包含<label>元素的全部<li>元素;而$("li>label")是获取<li>元素中的全部<label>元素。

4 回复 有任何疑惑可以回复我~
#1

dingdang 提问者

非常感谢!
2015-07-23 回复 有任何疑惑可以回复我~
<html>

    <head>

        <title>:has(selector)过滤选择器</title>

        <script src="
http://libs.baidu.com/jquery/1.9.0/jquery.js
" type="text/javascript"></script>

        <link href="style.css" rel="stylesheet" type="text/css" />

    </head>

    

    <body>

        <div>改变包含"label"元素的背景色:</div>

        <ol>

            <li><p>我是P先生</p></li>

            <li><label>L妹纸就是我</label></li>

            <li><p>我也是P先生<label>我也是L妹纸</label></p></li>

            <label>我也是L妹纸哦</label>

            <li><label>我也是L妹纸哦</label></li>

            <li><p>P先生就是我哦</p></li>

        </ol>

        

         <script type="text/javascript">

            $("li:has('label')").css("background-color", "blue");

        </script>

    </body>

</html>
运行结果:

 1.我是P先生
 2.L妹纸就是我
 3.我也是P先生我也是L妹纸

我也是L妹纸哦
4.我也是L妹纸哦
5.P先生就是我哦

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

举报

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

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

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