Скажем, у меня есть структура HTML, например
<div id="a">
<div id="b">
<div id="c"></div>
</div>
</div>
Чтобы сделать запрос для дочерних элементов "a" с помощью querySelectorAll, я могу сделать что-то вроде
//Get "b", but not "c"
document.querySelectorAll('#a > div')
Мой вопрос:возможно ли сделать это без идентификатора, напрямую ссылаясь на узел? Я пытался сделать
var a_div = document.getElementById('a')
a_div.querySelectorAll('> div') //<-- error here
но я получаю сообщение об ошибке, говорящее мне, что селектор, который я использовал, недействителен.
И если кому-то интересно, мой реальный вариант использования будет чем-то более сложным, например «>.foo.bar.baz», поэтому я бы предпочел избежать ручного обхода DOM. В настоящее время я добавляю временный идентификатор в корневой div, но это выглядит как уродливый хак...