Использование querySelectorAll для получения прямых потомков

Я могу это сделать:

<div id="myDiv">
   <div class="foo"></div>
</div>
myDiv = getElementById("myDiv");
myDiv.querySelectorAll("#myDiv > .foo");

То есть я могу успешно получить всех прямых потомков элемента myDiv , у которых есть class .foo .

Проблема в том, что меня беспокоит, что я должен включить #myDiv в селектор, потому что я выполняю запрос к элементу myDiv (так что очевидно, является избыточным).

Я должен иметь возможность отключить #myDiv , но тогда этот селектор не является допустимым синтаксисом, поскольку он начинается с > .

Кто-нибудь знает, как написать селектор, который получает только прямых потомков элемента, на котором работает селектор?

91
задан Bugs 4 July 2017 в 16:40
поделиться