1

それぞれが同じ ID を持つ一連の div を切り替えたい。現在の jquery コードは 1 つの div のみを切り替えます。(.next と .parent.next を組み合わせて使用​​してみましたが、まだ何も見つかりません)

$('#body'+id).toggle('400');

したがって、「#body2010」ID を持つ複数の div が存在します。それらすべてを切り替えたいと思います。

4

6 に答える 6

9

ドキュメント内に同じ ID を持つ複数の要素を含めることはできませんclass。代わりに属性を使用してください。

于 2010-01-06T23:17:47.857 に答える
7

ID名の重複は無効です。それらをクラスに変換する必要があります。jQuery は、ID タグの最初の一致要素のみに一致しますが、すべてのクラス一致の配列を返します。次に、次のようにします。

$('.body'+id).toggle();
于 2010-01-06T23:18:08.167 に答える
2

ID は一意である必要があります。JQuery はそれを認識しているため、特定の ID を持つ要素を検索すると、jQuery は 1 つの要素のみを返します。

jQuery ドキュメントから:

#id
指定された id 属性を持つ単一の要素に一致します。

http://docs.jquery.com/Selectors/id#id

body2010 id をクラス属性に切り替える必要があります。

于 2010-01-06T23:18:16.200 に答える
1

jQuery について何も知らないので、ID は一意である必要があり、同じ ID を持つ複数の div がある場合は、クラスを使用する必要があると思います。

于 2010-01-06T23:18:10.773 に答える
1

ご存知のように、ID は「識別子」の略です。ID はすべてのコンテキストで一意です。

このタイプの DOM クエリにはクラスを使用する必要があります。

于 2010-01-06T23:19:55.437 に答える
1

ID はページ上で一意であると想定されているため、jQuery はこれらの要素の最初の要素のみを切り替えます。これらの各 div にクラス名を割り当て、それを使用して切り替えると、より良い結果が得られます。

$('.body' + id).toggle('400');
于 2010-01-06T23:21:58.880 に答える