基于元素文本的CSS选择器?

有一种方法来选择一个元素在css基于元素文本?

即:

li[text=*foo]


<li>foo</li>
<li>bar</li>

这可能行不通。

编辑:也只需要支持Chrome。

434012 次浏览

不是直接使用CSS,您可以基于内部内容通过JavaScript设置CSS属性,但最终您仍然需要在CSS的定义中操作。

它可能被讨论过,但作为CSS3,没有什么像你需要的(另见“是否有CSS选择器的元素包含特定的文本?”)。 你必须使用额外的标记,比如:

<li><span class="foo">some text</span></li>
<li>some other text</li>

那就按通常的方式来参考:

li > span.foo {...}

我知道这不是你想要的,但也许能帮到你。

你可以尝试使用jQuery选择器:contains(),添加一个类,然后为一个类做一个正常的样式。