Frage

Wie erhalte ich ein Element oder Elementliste von seinem Tag-Namen. Nehmen Sie zum Beispiel, dass ich alle Elemente aus <h1></h1> will.

War es hilfreich?

Lösung

document.getElementsByTagName ( 'a') gibt einen Array. Schauen Sie hier für weitere Informationen: http://web.archive.org/web/20120511135043/https://developer.mozilla.org/en/DOM/element.getElementsByTagName

Änderung: Wenn Sie ein echtes Array wollen, sollten Sie so etwas wie Array.from(document.getElementsByTagName('a')) verwenden, oder in diesen Tagen würden Sie vermutlich Array.from(document.querySelectorAll('a')) wollen. Vielleicht POLYfill Array.from(), wenn Ihr Browser noch nicht unterstützt. Ich kann https://polyfill.io/v2/docs/ sehr viel (nicht verbunden in jede mögliche Weise)

Andere Tipps

Mit $$() und übergibt in einem CSS-Selektor.

Lesen Sie die Prototype API-Dokumentation für $$()

Dies gibt Ihnen mehr Leistung mehr als nur Tag-Namen. Sie können nach Klasse auswählen, Eltern / Kind-Beziehungen, usw. Es ist mehr CSS-Selektoren unterstützt als die gängigen Browser zu erwarten kann.

Matthias Kesten:

getElementsByTagName gibt ein NodeList Objekt, das Array-artiges ist aber kein Array, es ist eine Live-Liste.

var test = document.getElementsByTagName('a');
alert(test.length); // n
document.body.appendChild(document.createElement('a'));
alert(test.length); // n + 1

Sie können auch $$(tag-name)[n] verwenden, um bestimmtes Element aus der Sammlung zu erhalten.

Wenn Sie getElementsByTagName verwenden, werden Sie wickeln müssen, um es in $ A () ein Array zurück. Allerdings können Sie einfach tun $$ ( ‚a‘) als nertzy vorgeschlagen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top