9

同じ ID で複数のDIVを作成しました。JQUERYを使用してDIV の数を追跡したいと考えています。これはうまくいかないようです。

var divid = "123456";
var count_id_len = $("#parentdiv").find("#"+divid).length;
console.log(count_id_len);

それらが複数ある場合でも、結果は常に1です。

4

3 に答える 3

3

同じ ID を複数持つことは、W3C では推奨されていません。彼らがそれについて何を言っているか見てください。

id 属性は、HTML 要素の一意の ID を指定します ( id 属性の値は、HTML ドキュメント内で一意である必要があります)。id 属性を使用して、スタイル シート内のスタイルを指定できます。id 属性は、JavaScript で (HTML DOM を介して) 使用して、特定の id を持つ HTML 要素を変更することもできます。

提案:

グループ化するすべての div にクラス名を使用し、このセレクターを使用します。

$('.myClassName')

詳細については、次のリファレンスを参照してください。

1. ID が一意である必要がある理由

于 2013-11-11T04:50:10.550 に答える
3

多分これはあなたに役立つかもしれません:

私は内部の ajax 呼び出しを行ってきましたが、場合によっては、コンテナーが何度か内部でラップを開始する可能性があります。私はこれで解決します:

jQuery("div[id='yourWrapper_1']").length

DOM で ID を繰り返すべきではないため、ラップを解除してみてください。

http://api.jquery.com/unwrap/

それがあなたを助けることを願っています

よろしく!

于 2015-01-12T10:21:56.573 に答える