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

Qta*_*tax 7 css jquery css-selectors css3 jquery-selectors

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

jQuery(':has(selector)')

描述:选择包含至少一个与指定选择器匹配的元素的元素.

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

Bol*_*ock 6

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

如果您需要将样式应用于您要查询的元素:has(),则需要向其添加CSS类,然后按照Stargazer712的建议由该类进行样式设置.


riw*_*alk 5

不.实现这一目标的最佳方法是使用jQuery:

Css文件:

.myAwesomeClass {
    ...
}
Run Code Online (Sandbox Code Playgroud)

Js档案:

jQuery(':has(selector)').addClass("myAwesomeClass")
Run Code Online (Sandbox Code Playgroud)

哪里selector是什么是你原先尝试匹配.

  • *best*方法是组织你的CSS和标记,使其不必依赖JavaScript,即使CSS有时会有点痛苦. (2认同)