有没有办法让CSS Selector与以下内容匹配?
All OBJECT elements
which have a PARAM element inside of them
选择器
OBJECT PARAM
不起作用,因为它与PARAM匹配,而不是OBJECT。我想将{display:none}应用于对象;将它应用于PARAM是没用的。
(我知道我可以用jQuery - $("object param").closest("object")
- 和VanillaJS - document.querySelector("object param").closest("object")
来解决这个问题 - 但我正试图在页面上创建CSS规则。)
答案 0 :(得分:257)
不,您要找的是父选择器。 CSS没有;它们被多次提出,但我知道没有现有或即将出现的标准,包括它们。你是正确的,你需要使用像jQuery这样的东西或使用额外的类注释来达到你想要的效果。
以下是一些类似的问题,结果相似:
答案 1 :(得分:99)
唯一接近的是CSS3中的:contains
伪类,但它只选择文本内容,而不是标签或元素,所以你运气不好。
在jQuery中选择具有特定子节点的父节点的简单方法可以写为(使用:has()
):
$('#parent:has(#child)');
答案 2 :(得分:-3)
有什么方法可以以编程方式将类应用于对象吗?
<object class="hasparams">
然后做
object.hasparams