@Shimpanze

Почему не срабатывает querySelector?

Добрый день!

Есть HTML-разметка:

<div class="foo">
  <div class="bar">...</div>
</div>


Необходимо найти сначала все элементы div.foo на странице, а затем осуществить поиск уже внутри них и найти элементы div.bar.

Пишу:

// ищу сначала div.foo
document.querySelectorAll('div.foo').forEach((e) => {
  // а потом внутри найденных div.foo начинаю искать div.bar
  e.querySelectorAll('div.bar') // - не срабатывает поиск...
});


Подскажите, как правильно искать в данном! случае (именно forEach).

Спасибо!
  • Вопрос задан
  • 219 просмотров
Решения вопроса 2
rockon404
@rockon404
Frontend Developer
Отлично работает

Подскажите, как правильно искать в данном! случае (именно forEach).

Document.querySelectorAll() возвращает NodeList, а NodeList.forEach не поддерживается ie.
Можно использовать метод forEach массива и вызывать его на NodeList:
[].forEach.call(document.querySelectorAll('div.foo'), e => {
  [].forEach.call(e.querySelectorAll('div.bar'), e => console.log(e));
});
Ответ написан
delphinpro
@delphinpro Куратор тега JavaScript
frontend developer
Работает. jsfiddle.net/0xcmyp16
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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