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

ance desc选择器和:has(selector)过滤选择器的区别?

如题,两个选择器都是对子孙层产生作用,有什么区别呢?

正在回答

3 回答

ance desc选择器中,ance是祖先辈,desc是子孙辈,该选择器会选中ance下所有的desc元素,包括被嵌套的元素如:

<div>

    <p><span id="s1"></span>

    </p>

    <span id="s2"></span>

</div>

使用“div span”进行选择,会选中s1和s2两个span。

:has(selector)选择器中,选择的是和selector同辈中的元素,对于上面的代码

使用div:has("span"),则只会选中s2,因为s1,s2不是同一辈。


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

苍白的尾巴 提问者

非常感谢!
2016-06-28 回复 有任何疑惑可以回复我~

错误的回答是最佳答案,正确的却不是。。。醉了  。那个最佳答案的连基本概念都没搞懂。ance desc重点在desc 前面的可以认为是修饰  而li:has(selector)重点在li     后面的只是修饰罢了 ,可以翻译成含有selector这个元素的li标签

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

苍白的尾巴 提问者

谢谢,现在明白了。
2016-07-06 回复 有任何疑惑可以回复我~

ance desc选中的子元素desc,而比如li:has(selector)元素选择的是父元素li

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

苍白的尾巴 提问者

抱歉,之前没有看明白,选错了正确答案。抱歉
2016-07-06 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

ance desc选择器和:has(selector)过滤选择器的区别?

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