gpt4 book ai didi

javascript - 在 JavaScript 中访问 c​​hildNodes[] 时出现问题

转载 作者:行者123 更新时间:2023-11-30 09:05:52 24 4
gpt4 key购买 nike

我是 JavaScript/HTML 的初学者。

我正在学习 DOM 和 JavaScript,并使用以下页面探索通过 JavaScript 访问节点:

http://franklyanything.com/test2.html

正如您在我放入 Head 的 JavaScript 片段中所见,我正在尝试访问 <html> 的第二个子节点元素,应该是 Body 元素。

但是每次我运行该页面时都没有任何反应并且 Firebug 将变量报告为 undefined .如果我将索引从 [1] 更改为 [0],我没有问题。这正确识别了 <html>标签。

我被难住了。接下来我可以尝试什么?

最佳答案

document.childNodes[0]不是 <html>元素。它是文档类型声明。

<!DOCTYPE HTML PUBLIC "...> 

您可以访问 <body>节点直接使用document.body ,并使用 document.body.nodeName 获取其节点名称.

如果您想使用 childNodes 访问它, 尝试,

document.childNodes[1].childNodes[2].nodeName

// document.childNodes[1] => html
// document.childNodes[1].childNodes[0] => head
// document.childNodes[1].childNodes[1] => whitespace (text node)
// document.childNodes[1].childNodes[2] => body

如果<head>之间没有空格和 <body> ,然后,当然是 <body>元素将位于 <html> 中的位置 2 或索引 1子节点。

如果你删除了 doctype 声明,以及 head 和 body 之间的空格,那么你的

document.childNodes[0].childNodes[1]

将按预期工作。

关于javascript - 在 JavaScript 中访问 c​​hildNodes[] 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5086563/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com