gpt4 book ai didi

javascript - 为什么我在遍历 DOM 树时不从文本节点获取值?

转载 作者:太空宇宙 更新时间:2023-11-04 15:16:08 24 4
gpt4 key购买 nike

在下面的脚本中,我尝试遍历 DOM 树,但没有得到我期望的输出。

这里只有一小段 html :

<p id="para">This is inside the <em>p</em> tag.</p>

当我穿过树时,这是我得到的:

Node Name : P
Node Type : 1
Node Value : null


Node Name : HTML
Node Type : 1
Node Value : null

<html>
<head>
<title>JavaScript</title>
</head>

<body>
<p id="para">This is inside the <em>p</em> tag.</p>

<script type="text/javascript">
function nodeStatus(node) {
document.write("Node Name : " + node.nodeName + "<br />");
document.write("Node Type : " + node.nodeType + "<br / >");
document.write("Node Value : " + node.nodeValue + "<br / >");
document.write("<br / > <br / >");
}
var curElement = document.getElementById("para");
nodeStatus(curElement); // p tag
curElement = document.firstChild; // This is inside the
nodeStatus(curElement);
curElement = document.nextSibling; // em tag
nodeStatus(curElement);
curElement = document.firstChild; // p
nodeStatus(curElement);
</script>
</body>

为什么我不能从 text-node 中获取值?

我得到的作为节点名称的 HTML 是什么?我没有将任何节点命名为 HTML

jsFiddle:http://jsfiddle.net/HmkJQ/

最佳答案

您所做的是从每一行代码中的顶级文档开始。你开始:

var curElement = document.getElementById("para");

你得到了预期的 p 元素。但是随后您尝试获取 p 元素的子元素,但是使用此代码

curElement = document.firstChild;

您得到的是 文档 本身的第一个子元素(这意味着根 html 元素!)。

相反,您应该按如下方式导航:

curElement = curElement.firstChild;

试一试。

关于javascript - 为什么我在遍历 DOM 树时不从文本节点获取值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15108620/

24 4 0
文章推荐: java - 如何使用 Eclipse SonarQube 插件分析多模块项目?
文章推荐: css - 在 Hotmail HTML 电子邮件中使用
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com