我想在下面的 HTML 片段中选择 BONKERS。它的区别在于它单独存在于一个<code>
块,而它的所有兄弟都包含<a>
's. :empty
是显而易见的选择,但由于文本节点而不起作用。我以为我知道这些东西,但这让我发疯。
<ul class="Reference">
<li class="level4">
<code class="active-voice">
<a href="some/url/x" version="2">
mauve
</a>
</code>
<li class="level8">
<code class="active-voice">
BONKERS
</code>
</li>
<li class="level9 subclass">
<code class="active-voice">
<a href="some/url/c" version="2">
cerise
</a>
</code>
</li>
</ul>
我需要一个纯 CSS 解决方案(JS 不是一个选项),并且无法控制源 HTML。
Feh!
根据您打算应用的 CSS 属性,您可能能够也可能无法执行此操作。如果你要应用类似的东西color
例如,您可以简单地将其设置为 allcode
元素并将其重置为code a
,假设所有文本都包含在其中a
并且在规定的时间内不会溢出到外部code
。然而,这只适用于少数属性(主要是字体属性)。
否则,如果您尝试选择,这里没有太多纯 CSS 的方式code
不包含的元素a
孩子们。 jQuery 有code:not(:has(> a))
(或者,对于任意任意E
根本没有子元素的元素,E:not(:has(> *))
), but CSS 短期内不会出现这种情况 https://drafts.csswg.org/selectors-4/#profiles,并且 Selectors 4 没有为“没有子元素的元素”提供任何其他内容。
“呸!”是对的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)