如果其值为1,则突出显示td

时间:2014-01-30 05:12:42

标签: jquery

我有一张这样的桌子。

         <table>
            <tr>
                <td>one</td>
                <td>two</td>
                <td>one two</td>
            </tr>
            <tr>
                <td>one</td>
                <td>two</td>
                <td>one two</td>
            </tr>
            <tr>
                <td>one</td>
                <td>two</td>
                <td>one two</td>
            </tr>
        </table>

和jquery代码,以突出显示td,如果其值为one

$("table > tbody > tr > td:contains('one')").css("background", "#6a5acd");

如果值为one two,代码也会使td变为高位。我想只突出显示one

的td

3 个答案:

答案 0 :(得分:4)

:contains不适合这个,因为它只检查元素中是否存在给定字符串,使用手册filter来执行此操作

$("table > tbody > tr > td").filter(function(){
    return $.trim($(this).text()) == 'one'
}).css("background", "#6a5acd");

请参阅fiddle

上的演示

答案 1 :(得分:0)

尝试这个

 $("tr td:contains('one')").each(function(){
      $(this).css("background","#6a5acd");
 });

请参阅fiddle

上的演示

答案 2 :(得分:0)

contains函数真的不适合这种用法。我建议改为filter

以下是您想要做的语法。

$("table > tbody > tr > td").filter(function() {
    return $(this).text() === "one"
}).css("background", "#6a5acd");

这是一个jFiddle: http://jsfiddle.net/xDP9d/