Finom
@Finom

Функция querySelectorAll и селектор первых потомков?

Допустим, у меня есть некий элемент node. Нужно, не прибегая к циклам, childNodes и matchesSelector найти потомков первого уровня, соответствующих какому-нибудь селектору, например 'div.classname1.classname2[title$=«bla»]'. Одно из решений следующее:
node.querySelectorAll('#node1 > div.classname1.classname2[title$="bla"]'); //при условии, что node.id==="node1"
Очевидно, это помогает только в случае, если селектор node (в данном случае "#node1") известен и уникален.

Придумал такой костыль:
var id = node.dataset.randomId = Math.random();
node.querySelectorAll('[data-random-id="'+id+'"] > div.classname1.classname2[title$="bla"]');


Но добавлять лишние атрибуты элементам направо и налево — не очень хорошее решение.


Запись
node.querySelectorAll('> div.classname1.classname2[title$="bla"]');


выдаёт синтаксическую ошибку


Собсно, как получить детей элемента, соответствующих селектору с помощью querySelectorAll?

Может быть есть какой-нибудь селектор, выбирающий текущий элемент, что-то типа Andrei?
  • Вопрос задан
  • 4224 просмотра
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

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

Похожие вопросы