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

关于jquery的$("A:has()")的问题

<div>
    <p>p1</p>
    <span>span</span>
    <p>p2</p>
</div>
<div><span>span1</span></div>
<input type="button" value="点击我"/>
</body>
<script src="js/jquery-1.11.3.js"></script>
<script>
    window.onload=function(){
        var oBtn=document.getElementsByTagName("input")[0];
        oBtn.onclick=function(){
            $("div:has('p')").css("color","red")
        }
    };
</script>

为什么第一个div里的span会变红??

正在回答

3 回答

0 回复 有任何疑惑可以回复我~
 $("div:has('p')")

这个筛选的对象是div元素,指所有包含p元素的div元素,而不是指所有被div元素包含的p元素。所以筛选到的第一个div元素变红,div包含的所有元素都变为红色,(包括span元素),第二个div不变色。

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

$("div:has('p')")选择器代码,获取了包含<p>元素的全部<div>元素

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

举报

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

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

进入课程

关于jquery的$("A:has()")的问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信