2008-10-31 5 views

Antwort

182

nodeName ist das Attribut, das Sie suchen. Zum Beispiel:

var elt = document.getElementById('foo'); 
console.log(elt.nodeName); 

Beachten Sie, dass nodeName kehrt der Elementname und ohne die spitzen Klammern aktiviert, was bedeutet, dass, wenn Sie wollen, zu überprüfen, ob ein Element ein <div> Element ist, dass Sie es tun könnte wie folgt:

elt.nodeName == "DIV" 

Während dies würden Sie nicht die erwarteten Ergebnisse geben:

elt.nodeName == "<div>" 
+14

Ich empfehle es wie folgt: if (elt.nodeName.toLowerCase() === "div") {...} Auf diese Weise wird es aus irgendeinem Grund nicht mehr in Großbuchstaben (Kleinbuchstaben) zurückgegeben oder gemischt), Sie müssen es nicht ändern und dieser Code wird immer noch gut funktionieren. – TheCuBeMan

+1

Als Reaktion auf @TheCuBeMan müssen Sie mit toLowerCase() auch sicherstellen, dass nodeName existiert (wenn es überhaupt möglich ist, ist elt kein Element): 'if (elt.nodeName && elt.nodeName.toLowerCase () === 'div') {...} ' –

27

Was ist mit element.tagName?

Siehe auch tagName docs on MDN.

+1

nach Zeitstempel schlagen Sie mich um weniger als 1 Sekunde! – eyelidlessness

+1

Ich schaffte es sogar, etwas fremdes Englisch einzuwerfen. Crikey! –

+19

Von QuirksMode: Mein Rat ist nicht, TagName überhaupt zu verwenden. nodeName enthält alle Funktionalitäten von tagName plus ein paar mehr. Daher ist KnotenName immer die bessere Wahl. – bdukes

Verwandte Themen