gpt4 book ai didi

javascript - x.lastChild.nodeValue

转载 作者:行者123 更新时间:2023-12-02 19:33:32 25 4
gpt4 key购买 nike

<html>
<head>
<script type="text/javascript" src="jQuery.js">
<script type="text/javascript">
x=document.getElementByTagName("p");
document.write(x.lastChild.nodeValue);
</script>
</head>
<body>
<p id="intro">Hello World 1!</p>
<p id="intro">Hello World 2!</p>
<p id="intro">Hello World 3!</p>
</body>
</html>

为什么上面的代码不起作用。我想通过使用语句 documetn.write(x.lastChild.nodeValue()); 来显示 [Hello World 3!]提前致谢...

最佳答案

您的代码中有几个错误:

  • 您在 HTML 加载完成之前执行 JavaScript。因此<p>当您想要查询它们时它们不存在。

简单的解决方案是移动您的 <script>标记到 HTML 页面底部。

  • 命令是document.getElementsByTagName() (而不是 document.getElementById() - 请注意添加的“s”)并返回一个数组。

所以这里正确的语法是这样的:

x = document.getElementsByTagName("p");
x = x[ x.length - 1 ];
  • 为什么要使用document.write() ?这将在脚本标记的位置插入文本。

因此,为了调试,最好使用 console.log()alert() 。在生产环境中,您将得到结果 - <div>例如。

所以最后你的代码可能看起来像这样才能工作:

<html>
<head>
<script type="text/javascript" src="jQuery.js">
</head>
<body>
<p id="intro">Hello World 1!</p>
<p id="intro">Hello World 2!</p>
<p id="intro">Hello World 3!</p>
<hr>
<div id="result"></div>
<script type="text/javascript">
x=document.getElementsByTagName("p");
x = x[ x.length - 1 ];

document.getElementById( 'result' ).innerHTML = x.nodeValue;
</script>
</body>
</html>

关于javascript - x.lastChild.nodeValue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11222930/

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