0

jqueryフィルターメソッドを機能させるのに問題があります。

私が持っている場合

$("#resultDiv tr:odd").addClass("alternate_row");

テーブルを含むdiv"resultDiv"内のすべての行には、代替行クラスが与えられます。

しかし、私が使用する場合

 $('#resultDiv').filter("tr:odd").addClass("alternate_row");

どの要素とも一致していないようで、クラスが適用されているものはありません。

変数を渡す他のいくつかのことをしているので、フィルターメソッドを使用する必要があります。

私は何が欠けていますか?

4

3 に答える 3

5

2 番目のセレクターでは、id を持つ要素を選択し、#resultDivそれにフィルターを適用します。しかし、それはおそらくコレクションではなく、単なるテーブルか何かです。

trこのように、要素を選択してフィルターを適用する必要があります。

$('#resultDiv tr').filter(":odd").addClass("alternate_row");

このようにtrして、フィルターを適用するためのコレクションが作成されます。

于 2012-05-02T05:35:17.350 に答える
4

最初のバージョンでは:

$('#resultDiv').filter("tr:odd").addClass("alternate_row")

.filter() セットから一致しない要素を削除#resultDivし、どの要素もtrではないため、フィルターは何にも一致しません。

試す:

$('#resultDiv').find("tr:odd").addClass("alternate_row");

セレクターに一致する新しい子孫ノードを明示的に追加する、またはtr:odd

$('#resultDiv tr').filter(":odd").addClass("alternate_row");

単一のセレクターを使用してすべての tr要素を検索し、次に を使用.filterして奇数の要素のみを選択します。

于 2012-05-02T05:39:08.957 に答える
2

#resultDivそれがすべてのの親であると推測している<tr>ので、これが必要だと思います:

$('#resultDiv tr').filter(":odd").addClass("alternate_row");
于 2012-05-02T05:34:48.617 に答える