Подтвердить что ты не робот

Почему getElementById не работает с элементами внутри элемента документа?

Если вы используете getElementById с документом типа - document.getElementById, то он всегда работает.

Однако, если мы выполняем то же самое в элементе, скажем x как x.getElementById, тогда он возвращает ошибку.

Необычная вещь в том, что getElementsByClassName и getElementsByTagName работают над элементами, однако getElementById не работает!

4b9b3361

Ответ 1

Идентификаторы контейнера должны быть уникальными, поэтому нет причин для поиска объекта по идентификатору в другом контейнере. Вот почему вам нужно только document.getElementById для доступа к любому элементу по его идентификатору, тогда как при поиске по имени класса или тега вам может потребоваться только поиск в определенном контейнере, поэтому вы можете сделать x.getElementsByClassName и т.д.