Мені потрібен спосіб визначити тип HTML-елемента в JavaScript. Він має ідентифікатор, але самим елементом може бути а <div>
, <form>
поле, а <fieldset>
тощо. Як я можу цього досягти?
Мені потрібен спосіб визначити тип HTML-елемента в JavaScript. Він має ідентифікатор, але самим елементом може бути а <div>
, <form>
поле, а <fieldset>
тощо. Як я можу цього досягти?
Відповіді:
nodeName
- це атрибут, який ви шукаєте. Наприклад:
var elt = document.getElementById('foo');
console.log(elt.nodeName);
Зауважте, що nodeName
повертає ім'я з великої літери та без кутових дужок, це означає, що якщо ви хочете перевірити, чи є <div>
елемент, ви можете зробити це наступним чином:
elt.nodeName == "DIV"
Хоча це не дасть очікуваних результатів:
elt.nodeName == "<div>"
if (elt.nodeName && elt.nodeName.toLowerCase() === 'div') { ... }
localName
?
Про що element.tagName
?
Дивіться також tagName
документи про MDN .
Ви можете використовувати загальну перевірку коду за допомогою 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
Подивіться тут для повного переліку інтерфейсів.