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

时间:2011-03-26 10:25:11

标签: css css-selectors

  

可能重复:
  Is there a CSS selector for elements containing certain text?

有没有办法根据元素文本选择css中的元素?

即:

li[text=*foo]

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

这可能不起作用。

编辑:也只需要支持Chrome。

3 个答案:

答案 0 :(得分:136)

我知道这不是你想要的,但也许它会帮助你。

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

答案 1 :(得分:76)

不直接使用CSS,您可以根据内部内容通过JavaScript设置CSS属性,但最终您仍然需要在CSS的定义中运行。

答案 2 :(得分:18)

可能已经讨论过,但是从CSS3开始,没有什么比你需要的更多了(另见“Is there a CSS selector for elements containing certain text?”)。 您将不得不使用其他标记,如下所示:

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

然后以通常的方式参考:

li > span.foo {...}