Как определить тип HTML-элемента в JavaScript? - PullRequest
147 голосов
/ 31 октября 2008

Мне нужен способ определить тип HTML-элемента в JavaScript. У него есть идентификатор, но сам элемент может быть div, полем формы, набором полей и т. Д. Как мне этого добиться?

Ответы [ 3 ]

235 голосов
/ 31 октября 2008

nodeName - это атрибут, который вы ищете. Например:

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

Обратите внимание, что nodeName возвращает имя элемента с заглавной буквы и без угловых скобок, что означает, что если вы хотите проверить, является ли элемент элементом <div>, вы можете сделать это следующим образом:

elt.nodeName == "DIV"

Хотя это не даст вам ожидаемых результатов:

elt.nodeName == "<div>"
36 голосов
/ 31 октября 2008

А как насчет element.tagName?

См. Также tagName документы по MDN .

0 голосов
/ 21 марта 2019

Иногда хочется element.constructor.name

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

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

document.createElement('foo').constructor.name
// HTMLUnknownElement
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...