Просто используйте querySelectorAll
и используйте строку запроса .row > .node
:
const nodes = document.querySelectorAll(".row > .node");
nodes.forEach(node => console.log(node.textContent));
.node {
border-radius: 50%;
border: 1px solid #000;
}
.node,
.empty {
display: inline-block;
height: 50px;
width: 50px;
line-height: 50px;
text-align: center;
}
.d-none {
display: none;
}
<div class="row">
<div class="node">
Foo
</div>
<div class="node d-none">
Foo
</div>
<div class="row">
<div class="empty">
</div>
<div class="node d-none">
Foo
</div>
</div>
</div>
Почти во всех случаях строка селектора, которая работает для выбора элементов в jQuery, будет работать и для выбора элементов с querySelectorAll
(и длявыбрать элементы с помощью CSS).(Есть несколько редких исключений, таких как :contains
, которые имеют значение только в jQuery.)
Обратите внимание, что вам нужно использовать
.row > .node
, а не
.row < .node
чтобы выбрать .node
s, которые являются потомками .row
.