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:
nodeNameist das Attribut, nach dem Sie suchen. Beispielsweise:
var elt = document.getElementById('foo');
console.log(elt.nodeName);
Beachten Sie, dass nodeNameder 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 tagNameDokumente 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.