假设我们有这样的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内(在本例中使用id = '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");
但因为浏览器不兼容的,我不希望使用“:范围”
真正的问题是:
如何使用纯JavaScript获取[object HTMLDivElement]的子元素(仅DIV元素)?
请评论我,如果这个问题是不理解:) – h2odev
你能不能然后再进去做:' var children = document.querySelectorAll(“#test-div> div”)' – andrew196
这个例子可以,但在实际应用中,DIV没有ID,我只有[对象HTMLDivElement] – h2odev