2

私が次のようなことをするとき:

$('#container').addClass("contract");

idコンテナを持つ最初のdivにクラスを追加するだけです

私が次のようなことをするとき:

$('.container').addClass("contract");

クラスコンテナを持つすべてのdivにクラスを追加します

なぜ ?

4

3 に答える 3

2

すべての要素 ID は一意である必要があります。ID は 1 つの属性のみを指します。Jquery やその他のフレームワークは、特定の ID を持つ要素が複数ある可能性があることを考慮しません。すべての要素に異なる ID が必要です。Javascript と DOM はこれを想定しています (たとえば、document.getElementByID は 1 つの要素のみを返し、ID が重複している場合はまったく機能する可能性があります)。すべてがこれを期待しています。

于 2010-01-21T21:21:54.313 に答える
1

id属性は HTML ドキュメント内で一意でなければならないためです。id="abc"したがって、最初の要素を見つけたときに、他の要素を検索する必要はありません。

于 2010-01-21T21:21:30.600 に答える
1

要素の ID 属性は、要素を一意に識別する必要があります。クラス属性は、複数の要素に適用できます。ID は一意であるため、jQuery はそれに一致する最初の要素にのみ ID を適用します。

于 2010-01-21T21:21:47.543 に答える