是否有一种方法可以使CSS选择器匹配以下内容?

All OBJECT elements
  which have a PARAM element inside of them

选择器

OBJECT PARAM

不工作,因为它匹配的是PARAM,而不是OBJECT。我想对对象应用{display:none};把它应用到PARAMs上是没有用的。

(我知道我可以用jQuery - $("object param"). nearest ("object") -和VanillaJS - document来实现。querySelector("object param"). nearest ("object") -但我试图在页面上创建CSS规则。)


在CSS中选择所有包含PARAM的对象:

OBJECT:has(PARAM)

在CSS中选择所有具有直接子PARAM的对象:

OBJECT:has(> PARAM)

不,你要找的是父选择器。CSS没有;它们已经被多次提出,但据我所知,没有任何现有或即将出台的标准包括它们。您是正确的,您需要使用jQuery之类的东西或使用额外的类注释来实现您想要的效果。

下面是一些类似的问题,结果也差不多:

有CSS父选择器吗? CSS父/祖先选择器 复杂的CSS选择器的父活动子


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

在jQuery中选择带有特定子节点的父节点的简单方法可以写成(with:has()):

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

是否有任何方法可以通过编程将类应用到对象?

<object class="hasparams">

然后做

object.hasparams