Определение типа HTML-элемента по ID с помощью JavaScript
Быстрый ответ
Чтобы быстро определить тип HTML-элемента, необходимо использовать свойство element.tagName, которое возвращает название тега в верхнем регистре:
console.log(document.getElementById('myElement').tagName); // Выводит 'DIV' для элемента: <div id="myElement"></div>
Свойство tagName является надёжным и пригодным для использования с общими HTML-элементами, делая его простым и понятным инструментом для идентификации тегов.

За пределами основ: глубокое погружение в HTML-элементы
tagName идеально подходит для быстрого определения типа HTML-элемента, однако сложные сценарии могут потребовать более продвинутого анализа.
Использование nodeName для идентификации широкого спектра типов узлов
Если требуется охватить больше типов узлов, не только HTML-элементы, следует использовать свойство nodeName:
console.log(document.getElementById('myElement').nodeName); // К слову, это никак не связано с именем вашего питомца по кличке Node!
nodeName аналогичен tagName, но могут применяться ко всем типам узлов. Важно учитывать, что для XML-документов nodeName чувствителен к регистру.
Использование instanceof для определения конкретных интерфейсов
Для точного определения роли элемента в DOM структуре, используйте оператор instanceof:
const myInput = document.querySelector('input[type=text]');
console.log(myInput instanceof HTMLInputElement); // выводит true, подтверждая, что элемент является текстовым полем для ввода.
Оператор instanceof помогает идентифицировать HTML-элементы.
Сценарии из реальной жизни
Определение типов элементов важно для интеракции с DOM, в особенности при динамическом формировании контента или настройке поведения форм.
Практические примеры
- Конфигурация меню: Вариативное использование элементов управления в зависимости от тега: 
<div>,<span>или<input>. - Валидация форм: Применение различных логик валидации для 
HTMLInputElementилиHTMLSelectElement. - Специальные стили: Кастомизация стилей специально для 
<button>илиHTMLButtonElement. 
Как избежать распространенных ошибок
- Помните о разнице в пространствах имён SVG или MathML по отношению к HTML при использовании 
nodeName. - В HTML-документах 
tagNameиnodeNameвозвращаются в верхнем регистре. - При использовании 
instanceofв разных окнах или фреймах обращайтесь кownerDocument. 
Визуализация
Схема соответствия "Элемент – TagName":
| Элемент         | TagName  |
| --------------- | -------- |
| `<div>`         | 📦 (DIV) |
| `<span>`        | 🧵 (SPAN) |
| `<ul>`          | 📋 (UL) |
| `<canvas>`      | 🖼️ (CANVAS) |
Мастерство анализа HTML-элементов
Использование свойств элемента
element.type: Указывает на тип элемента, в особенности для<input>(например, "text", "checkbox").element.idиelement.className: Могут служить как подсказки к типу элемента.
Использование пользовательских атрибутов данных
Используйте element.dataset для определения и выделения особых типов, что автоматически увеличивает удобство и возможности поддержки кода.
Эмуляция вспомогательных функций
Вспомогательные функции, такие как в jQuery, облегчают подобную проверку. Например:
$('selector').is(':input') // Проверяет, является ли элемент полем для ввода. Работает очень быстро!


