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 に答える