JavaScript中dom的问题

刚开始学dom,为什么document.body.children[] 的值不是body中的第一个元素呢,请问这是什么问题?

img

img

你截图上的写法还是不太推荐

如果你只是需要获取指定class类名的元素,可以用这个

html
<div class="box"></div>
js
document.querySelector('.box')

如果需要获取指定id的元素,可以这样

html
<div id="box"></div>
js
document.querySelector('#box')

该回答引自ChatGpt
document.body.children[] 属性返回的是指定元素下所有子元素的一个HTMLCollection数组集合,并非是某个具体的元素。在这个HTMLCollection中,子元素的排列顺序并不是严格按照它们在文档中出现的顺序,而是按照它们在DOM树中的层次结构来排序的。

因此,如果HTML文档的body元素中存在嵌套的子元素,即使第一个子元素在HTML文档的代码中位于最前面,但也可能不会作为 document.body.children[] 数组的第一个元素进行返回。需要注意的是,这种排序行为的具体实现可能因不同浏览器而异。

如果要在 document.body 中选择特定的元素,可以使用其他方法,例如:

document.querySelector() : 使用CSS选择器语法来查找匹配的元素
document.getElementById() : 根据id属性值来查找对应的元素
document.getElementsByTagName() : 返回指定标签名的所有元素的一个HTMLCollection
通过使用这些方法,我们可以精确地获取文档中想要的元素。

你可以把代码 贴全点 我试了试 第一个 就是 div 你的代码可能哪里有问题