Ich brauche eine Möglichkeit, den Typ eines HTML-Elements in JavaScript zu bestimmen. Es hat die ID, aber das Element selbst kann ein <div>
, ein <form>
Feld, ein <fieldset>
usw. sein. Wie kann ich dies erreichen?
Ich brauche eine Möglichkeit, den Typ eines HTML-Elements in JavaScript zu bestimmen. Es hat die ID, aber das Element selbst kann ein <div>
, ein <form>
Feld, ein <fieldset>
usw. sein. Wie kann ich dies erreichen?
Antworten:
nodeName
ist das Attribut, nach dem Sie suchen. Beispielsweise:
var elt = document.getElementById('foo');
console.log(elt.nodeName);
Beachten Sie, dass nodeName
der Elementname groß und ohne spitze Klammern zurückgegeben wird. Wenn Sie also überprüfen möchten, ob ein Element ein Element ist <div>
, können Sie dies wie folgt tun:
elt.nodeName == "DIV"
Dies würde Ihnen zwar nicht die erwarteten Ergebnisse bringen:
elt.nodeName == "<div>"
if (elt.nodeName && elt.nodeName.toLowerCase() === 'div') { ... }
localName
?
Was ist mit element.tagName
?
Siehe auch tagName
Dokumente zu MDN .
Sie können die generische Codeüberprüfung verwenden über instanceof
:
var e = document.getElementById('#my-element');
if (e instanceof HTMLInputElement) {} // <input>
elseif (e instanceof HTMLSelectElement) {} // <select>
elseif (e instanceof HTMLTextAreaElement) {} // <textarea>
elseif ( ... ) {} // any interface
Schauen Sie hier für eine vollständige Liste der Schnittstellen.