Heim >Web-Frontend >js-Tutorial >Wie kann ich mit getElementById() in JavaScript mehrere Elemente mit derselben ID abrufen?

Wie kann ich mit getElementById() in JavaScript mehrere Elemente mit derselben ID abrufen?

Barbara Streisand
Barbara StreisandOriginal
2024-11-23 21:53:11972Durchsuche

How can I retrieve multiple elements with the same ID using getElementById() in JavaScript?

Mehrere Elemente mit derselben ID mit getElementById abrufen

In JavaScript ist getElementById eine leistungsstarke Methode zum Auswählen von Elementen basierend auf ihren eindeutigen IDs. Was passiert jedoch, wenn Sie auf mehrere Elemente mit derselben ID stoßen, was ungültiges HTML ist, aber manchmal unvermeidbar ist?

Die folgende Frage befasst sich mit diesem Szenario:

Frage: Wie Kann ich eine Sammlung von Elementen erhalten, indem ich ihr ID-Attribut spezifiziere, einschließlich solcher mit doppelten IDs? Ich möchte nur getElementById() verwenden, um dies zu erreichen.

Antwort:

Die Verwendung von getElementById() für Elemente mit doppelten IDs ist zwar nicht ideal, es gibt jedoch Möglichkeiten dazu dieses Problem umgehen. Ein Ansatz ist die Verwendung von querySelectorAll:

var elms = document.querySelectorAll("[id='duplicateID']");

for(var i = 0; i < elms.length; i++) 
  elms[i].style.display='none';

Dieser Code ruft alle Elemente mit der angegebenen ID ab und speichert sie in einem Array namens elms. Sie können dann das Array durchlaufen und alle gewünschten Aktionen für jedes Element ausführen, wie z. B. das Ausblenden im obigen Beispiel.

Beachten Sie, dass die Verwendung von getElementById() für Elemente mit doppelten IDs zu unvorhersehbarem Verhalten führen kann. Es wird allgemein empfohlen, gültiges HTML durch die Verwendung eindeutiger IDs für Elemente zu erzwingen.

Das obige ist der detaillierte Inhalt vonWie kann ich mit getElementById() in JavaScript mehrere Elemente mit derselben ID abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn