代码之家  ›  专栏  ›  技术社区  ›  Tamás Szelei

基于内容的CSS规则[重复]

  •  29
  • Tamás Szelei  · 技术社区  · 15 年前

    我想对包含特定单词的所有锚应用不同的样式。它能用纯CSS完成吗?只要是CSS3就可以了。

    5 回复  |  直到 9 年前
        1
  •  30
  •   bobince    15 年前

    不。 :contains 曾被提议,但不在CSS3选择器的当前工作草案中。

    您需要一些javascript,例如:

    for (var i= document.links.length; i-->0;)
        if (/\bSpecificWord\b/i.test(document.links[i].innerHTML)
            document.links[i].style.color= 'red';
    
        2
  •  16
  •   Divya Manian    15 年前

    你可以 match attribute values though . 如果您使用自定义数据属性,它可能会得到您想要的。

        3
  •  6
  •   Scott Evernden    15 年前

    是的,有一个 :contains CSS3中的选择器。

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

    这一页下面有1/2的内容 here

    这是 something you can also do with jQuery 太…

        4
  •  0
  •   Enes    11 年前

    使用 Hitch 这是一个很小的JS库。您可以轻松地将基于内容的样式应用于任何元素。它有很多选项,非常适合有条件的样式。

        5
  •  0
  •   lynx_74    9 年前

    @Bobine帮助我,我写了这段代码:

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

    如果某些td的内容是' 关闭 '然后,TR的背景色将用浅红色标识。