web-dev-qa-db-ja.com

JavaScriptでHTML要素のタイプを判断するにはどうすればよいですか?

JavaScriptでHTML要素のタイプを判別する方法が必要です。 idがありますが、要素自体はdiv、フォームフィールド、フィールドセットなどです。これを実現するにはどうすればよいですか?

154
AdamTheHutt

nodeName は探している属性です。例えば:

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

nodeNameは、山かっこなしの要素名を大文字で返します。つまり、要素が<div>要素であるかどうかを確認する場合は、次のようにします。

elt.nodeName == "DIV"

これは期待される結果を提供しませんが:

elt.nodeName == "<div>"
247
pkaeding

element.tagName についてはどうですか?

tagName MDNのドキュメント も参照してください。

37
Brian Cline

element.constructor.nameが必要な場合があります

document.createElement('div').constructor.name
// HTMLDivElement

document.createElement('a').constructor.name
// HTMLAnchorElement

document.createElement('foo').constructor.name
// HTMLUnknownElement
0
golopot