我如何在这里选择TR?

时间:2012-10-23 02:28:11

标签: javascript jquery html-table parent

这是我的代码,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>

1 个答案:

答案 0 :(得分: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元素。那么当你获得所选TD的.parent()时,你就会获得每个TR元素......