Есть код:
текст
Я не понимаю, почему простое выражение div.insertAdjacentHTML('afterEnd', '
Пока
'); правильно работает. Разве не нужно сначала с помощью getElementById() найти элемент с id = div, присвоить этот DOM обьект переменной, а потом что-то в него вставлять. Почему это работает?Ответ
Если элементу назначен специальный атрибут id, то можно получить его прямо по переменной с именем из значения id
Это поведение соответствует стандарту. Оно существует, в первую очередь, для совместимости, как осколок далёкого прошлого и не очень приветствуется, поскольку использует глобальные переменные. Браузер пытается помочь нам, смешивая пространства имён JS и DOM, но при этом возможны конфликты.
Но более правильной и общепринятой практикой является доступ к элементу вызовом document.getElementById("идентификатор")
Комментариев нет:
Отправить комментарий