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

ie:

li[text=*foo]

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

这可能行不通。

编辑:也只需要支持Chrome。


当前回答

它可能已经讨论过了,但在CSS3中没有像你需要的那样的东西(参见“是否有包含特定文本的元素的CSS选择器?”)。 你将不得不使用额外的标记,像这样:

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

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

li > span.foo {...}

其他回答

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

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

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

它可能已经讨论过了,但在CSS3中没有像你需要的那样的东西(参见“是否有包含特定文本的元素的CSS选择器?”)。 你将不得不使用额外的标记,像这样:

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

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

li > span.foo {...}