CSS有没有像jQuery的那样:has()?

时间:2011-06-08 12:48:33

标签: jquery css jquery-selectors css3 css-selectors

在CSS(任何版本)中,是否有像jQuery中的:has()选择器那样的任何其他方式?

  

jQuery(':has(selector)')

     

说明:选择哪些元素   包含至少一个元素   匹配指定的选择器。

http://api.jquery.com/has-selector/

2 个答案:

答案 0 :(得分:6)

不,没有。 CSS的设计方式,不允许选择器匹配祖先或兄弟姐妹;只有后代(>),后续兄弟姐妹(~+)或特定子女(:*-child)。唯一的祖先选择器是:root伪类,它选择文档的根元素(在HTML页面中,自然就是html)。

如果您需要将样式应用于使用:has()查询的元素,则需要向其中添加CSS类,然后按该类as suggested by Stargazer712设置样式。

答案 1 :(得分:5)

没有。实现这一目标的最佳方法是使用jQuery:

Css文件:

.myAwesomeClass {
    ...
}

Js档案:

jQuery(':has(selector)').addClass("myAwesomeClass")

其中selector是你最初想要匹配的东西。