@khodos_dmitry

Можно ли использовать поисковые методы внутри друг друга?

У меня вылазит ошибка здесь:
var bod = document.getElementById('main_info');
var elem = bod.getElementById('one');
  • Вопрос задан
  • 54 просмотра
Пригласить эксперта
Ответы на вопрос 3
@StockholmSyndrome
внутри друг друга можно использовать методы:
querySelector/querySelectorAll
getElementsByTagName
getElementsByClassName

тот же самый код с использованием querySelector:
var bod = document.getElementById('main_info');
var elem = bod.querySelector('#one');
Ответ написан
Комментировать
@dimuska139
Backend developer
Нет, именно так нельзя. getElementById - это получение элемента по ID. Id элемента должен быть уникальным в рамках страницы. Поэтому если ты решил искать элемент с id = one внутри элемента с id = main_info, то это неправильно, потому что тебе достаточно сделать document.getElementById('one'); Чтобы в теории работала такая конструкция, как у тебя, getElementById должен возвращать document.
Ответ написан
Комментировать
sergiks
@sergiks Куратор тега JavaScript
♬♬
1. Не «внутри» друг друга. Метод вызывается у объекта.

document.getElementById() – это метод getElementById() у объекта document. Вызов возвращает Element. Или null, если нет элемента с таким ID.

Второй вызов – пытаетесь вызвать метод getElementById() уже у объекта Element. А у него такого метода нет.

2. Не «поисковые» методы. document.getElementById() не ищет, а просто берёт, если есть такой.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы