Страницы

Поиск по вопросам

понедельник, 25 февраля 2019 г.

Почему работает div?

Есть код:

текст

Я не понимаю, почему простое выражение div.insertAdjacentHTML('afterEnd', '

Пока

'); правильно работает. Разве не нужно сначала с помощью getElementById() найти элемент с id = div, присвоить этот DOM обьект переменной, а потом что-то в него вставлять. Почему это работает?


Ответ

Если элементу назначен специальный атрибут id, то можно получить его прямо по переменной с именем из значения id
Это поведение соответствует стандарту. Оно существует, в первую очередь, для совместимости, как осколок далёкого прошлого и не очень приветствуется, поскольку использует глобальные переменные. Браузер пытается помочь нам, смешивая пространства имён JS и DOM, но при этом возможны конфликты.
Но более правильной и общепринятой практикой является доступ к элементу вызовом document.getElementById("идентификатор")

Комментариев нет:

Отправить комментарий