1

我可以做document.body.childNodes[1],但为什么不做这个'do​​cument.body.div [1]'。文件有什么特别之处?

抱歉,如果我遗漏了什么。

按照这个逻辑,document 并不特殊,body 应该只能通过这样的方式访问。

document.childNodes[1]或者。假设 div body 是第二个元素。

为什么会这样。

document.body.etc << 我可以这样做,但是...

document.body.div << 不是这个。取而代之的是这...

document.body.childNodes[1] << 给定 div 的作品是第二个元素!

document.childNodes[1] << 那么为什么它不是访问 body 的唯一方法,因为它的第二个元素因此 [1]。

document.body.div.p << 我想这样做,根据我对 html 对象模型的理解,它应该是可能的。

4

2 回答 2

1

document.childNodes[0]将返回整个文档中的第一个标签,而document.body.childNodes[0]将返回 body 标签下的第一个标签。

于 2013-05-21T03:51:45.647 回答
1

不完全确定您的 html 的结构,但是:

document.childNodes[0]让你成为 html 中的第一个节点。(例如,在stackoverflow上<!DOCTYPE html>

如果你想通过这种方式遍历身体,你可以这样做:

document.childNodes[1].childNodes[2](在此页面上为您提供正文)

基本上你需要注意元素的顺序。相比之下,使用命名元素遍历 DOM 是完全不同的。我希望这有帮助。

于 2013-05-21T03:55:08.537 回答