JavaScriptでHTML要素のタイプを判別する方法が必要です。 idがありますが、要素自体はdiv、フォームフィールド、フィールドセットなどです。これを実現するにはどうすればよいですか?
nodeName
は探している属性です。例えば:
var elt = document.getElementById('foo');
console.log(elt.nodeName);
nodeName
は、山かっこなしの要素名を大文字で返します。つまり、要素が<div>
要素であるかどうかを確認する場合は、次のようにします。
elt.nodeName == "DIV"
これは期待される結果を提供しませんが:
elt.nodeName == "<div>"
element.tagName
についてはどうですか?
tagName
MDNのドキュメント も参照してください。
element.constructor.name
が必要な場合があります
document.createElement('div').constructor.name
// HTMLDivElement
document.createElement('a').constructor.name
// HTMLAnchorElement
document.createElement('foo').constructor.name
// HTMLUnknownElement