Давайте предположим, что у нас есть этот HTML структура:querySelectorAll корневых элементы без использования: область применения
<div id='test-div'>
<div class='random-class-1'>
<div class='useless-element-1'>
</div>
<div class='useless-element-2'>
</div>
<p>Just a paragraph, and useless</p>
</div>
<div class='random-class-2'>
<div class='useless-element-3'>
</div>
<div class='useless-element-4'>
</div>
<div class='useless-element-5'>
</div>
</div>
</div>
Мне нужно, чтобы выбрать все детям «DIV элементы» (не внуки) внутри первого DIV (в данном примере с идентификатором = 'test-div'), а не из документа, а из самого элемента (div).
Так что, я не хочу использовать «запрос» ниже, потому что я уже выбран элемент DIV [объект HTMLDivElement]:
// I don't want to use this query
var children = document.querySelectorAll("div > div");
Просто пример для достижения этой цели (https://jsfiddle.net/t4gxt65k/):
// I already have selected DIV element
var el = document.getElementById("test-div")
// OR var el = document.querySelectorAll("#test-div");
var children = el.querySelectorAll(":scope > div");
Но из-за несовместимости браузера я не хочу использовать «: объем»
реальный вопрос:
Как я могу получить детей (только элементы DIV) из [object HTMLDivElement], используя чистый JavaScript?
Прокомментируйте меня, если вопрос не понятно :) – h2odev
Могли бы вы не потом снова пойти и сделать: ' var children = document.querySelectorAll ("# test-div> div") ' – andrew196
Это нормально для этого примера, но в реальном приложении DIV не имеет идентификатора, и у меня есть только [объект HTMLDivElement] – h2odev