基于内容的CSS规则

我想对包含特定单词的所有锚点应用不同的风格。 可以在纯CSS中完成吗? 没关系,如果它只是CSS3。

编号:contains曾经提出,但不在CSS3select器的工作草案。

您将需要一些JavaScript,例如:

 for (var i= document.links.length; i-->0;) if (/\bSpecificWord\b/i.test(document.links[i].innerHTML) document.links[i].style.color= 'red'; 

你可以匹配属性值 。 如果您使用自定义数据属性,它可能会得到你想要的。

是的CSS3中有一个:containsselect器。

 li:contains("special"){text-style: italic;} 

这里提到了大约1/2的这个页面

这也是你也可以用jQuery做的事情 …

使用这个小JS库的Hitch 。 您可以轻松地将基于内容的样式应用于任何元素。 它有很多的select和伟大的条件造型。

@bobince帮我和我写了这段代码:

 var x = document.getElementsByTagName('TD'); for (var i= x.length; i-->0;) if (x[i].innerHTML=='closed') x[i].parentNode.style.background= '#FEE'; 

如果一些TD的内容是“ closures的 ”,那么TR的背景颜色将被识别为浅红色。