“foo包含bar”的CSS选择器?

时间:2010-01-04 16:31:50

标签: css css-selectors

  

可能重复:
  Is there a CSS parent selector?

有没有办法让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规则。)

3 个答案:

答案 0 :(得分:257)

不,您要找的是父选择器。 CSS没有;它们被多次提出,但我知道没有现有或即将出现的标准,包括它们。你是正确的,你需要使用像jQuery这样的东西或使用额外的类注释来达到你想要的效果。

以下是一些类似的问题,结果相似:

答案 1 :(得分:99)

唯一接近的是CSS3中的:contains伪类,但它只选择文本内容,而不是标签或元素,所以你运气不好。

在jQuery中选择具有特定子节点的父节点的简单方法可以写为(使用:has()):

$('#parent:has(#child)');

答案 2 :(得分:-3)

有什么方法可以以编程方式将类应用于对象吗?

<object class="hasparams">

然后做

object.hasparams