0

这是我的代码,setWord 是 1985:

$("td:contains(" + setWord + ")").css("textDecoration", "underline");

我认为这可以解决问题:

$("td").not(":contains(" + setWord + ")").parent().css("backgroundColor", "red");

但显然不是。我只是想选择那个 TD 的父 TR

<tr>
            <td>John</td>
            <td>03/09/1985</td>
            <td>Red</td>
            <td>Australia</td>
            <td>$ Dollars</td>
        </tr>
        <tr>
            <td>Dave</td>
            <td>01/01/1987</td>
            <td>Blue</td>
            <td>London</td>
            <td>&pound; Pounds</td>
        </tr>
4

1 回答 1

2

如果想法是更改不包含setWord“1985”的所有行的背景,请尝试以下操作:

$("tr").not(":contains(" + setWord + ")").css("backgroundColor", "red");

演示:http: //jsfiddle.net/kwH6L/

如果想法是改变包含的行的背景,那么setWord试试这个:

$("td:contains(" + setWord + ")").parent().css("backgroundColor", "red");

演示:http: //jsfiddle.net/kwH6L/1/

您显示的代码的问题:

$("td").not(":contains(" + setWord + ")").parent().css("backgroundColor", "red");

...是您首先选择所有TD 元素,然后删除包含 的那些setWord,但仍然在每一行中选择至少一些 TD 元素。因此,当您获得.parent()选定的 TD 时,您将获得每个 TR 元素......

于 2012-10-23T02:33:18.093 回答