Frage zähle div-Elemente mit der gleichen ID JQUERY


Ich habe mehr als einen geschaffen DIV mit der gleichen ID. Ich möchte die Anzahl von verfolgen DIVs durch die Nutzung JQUERY. Dieser scheint nicht zu funktionieren.

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

Das Ergebnis ist immer 1 obwohl es mehr als einen von ihnen gibt.


7
2017-11-11 04:35


Ursprung


Antworten:


Geben Sie den Klassennamen für div ein und fügen Sie den folgenden Code ein .. Es wird die Zählung geben.

var conveniancecount = $("div[class*='conveniancecount']").length;

8
2017-11-11 04:39



Die gleiche ID mehrmals zu verwenden wird von W3C nicht empfohlen. Sehen Sie, was sie dazu sagen.

Das ID-Attribut spezifiziert a Eindeutige ID für ein HTML-Element (Der ID-Attributwert muss innerhalb des HTML-Dokuments eindeutig sein).   Das Attribut id kann verwendet werden, um auf einen Stil in einem Stylesheet zu zeigen.   Das ID-Attribut kann auch von einem JavaScript (über das HTML-DOM) verwendet werden, um Änderungen am HTML-Element mit der spezifischen ID vorzunehmen.

Vorschlag:

Verwenden Sie den Klassennamen für alle Divs, die Sie gruppieren möchten, und verwenden Sie diesen Selektor:

$('.myClassName')

Siehe diese Referenzen für mehr:

1. Warum müssen IDs einzigartig sein?


3
2017-11-11 04:50



Vielleicht kann das für dich nützlich sein:

Ich habe innere Ajax-Aufrufe gemacht, bei denen der Container in einigen Fällen manchmal in einem anderen verpackt wird. Ich löse es damit auf:

Suchen Sie nach Ihrem Container-Zielcontainer mit einer Abfrage mit diesem Selektor anstelle von "#yourWrapper":

jQuery ("div [id = 'yourWrapper_1']"). Länge

Versuchen Sie es auszupacken, da Sie IDs in Ihrem DOM nicht wiederholt haben sollten

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

Hoffe es hilft dir

Grüße!


2
2018-01-12 10:21