【发布时间】:2011-07-23 10:29:36
【问题描述】:
有没有办法根据元素文本在css中选择一个元素?
即:
li[text=*foo]
<li>foo</li>
<li>bar</li>
这可能行不通。
编辑:也只需要支持Chrome即可。
【问题讨论】:
标签: css css-selectors
有没有办法根据元素文本在css中选择一个元素?
即:
li[text=*foo]
<li>foo</li>
<li>bar</li>
这可能行不通。
编辑:也只需要支持Chrome即可。
【问题讨论】:
标签: css css-selectors
我知道这不是您正在寻找的,但也许它会对您有所帮助。
你可以尝试使用 jQuery 选择器:contains(),添加一个类,然后为一个类做一个普通的样式。
【讨论】:
$("div:contains('Text')") .closest("div.parent_div") .css("background", "#555");
assert_select '.text-muted:contains("Total Raised")', 'Total Raised'。 guides.rubyonrails.org/v5.0/testing.html#testing-views 我没想到会这样,因为我认为单元测试使用的是 Ruby CSS 选择器,而不是 JQuery。
不直接用CSS,你可以根据内部内容通过JavaScript设置CSS属性,但最终还是需要在CSS的定义中操作。
【讨论】:
:empty 选择器的描述:w3schools.com/cssref/sel_empty.asp
可能已经讨论过了,但从 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 {...}
【讨论】: