【发布时间】:2016-05-06 18:47:44
【问题描述】:
我想在下面的 HTML 片段中选择 BONKERS。它的区别在于它单独位于<code> 块中,而它的所有兄弟姐妹都包含<a>。 :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。
呸!
【问题讨论】:
-
目前我想不出任何选择器可以实现这一点。下一级选择器有一个选项。
-
你想在这里设计什么风格?您是选择
a还是code? -
@choz 我正在尝试为“BONKERS”设置样式,仅此而已。
-
我怀疑@Harry 是对的,这根本不可能。
-
无法通过内容选择它。 CSS 有伪
:contains()但他们在 CSS3 中删除了它。您应该使用不同的方法来选择该元素,否则使用 jQuery。有没有考虑过<code data-text='bonker'> BONKER </code>?
标签: html css css-selectors