gpt4 book ai didi

javascript - 了解未定义错误的 'parentNode'

转载 作者:行者123 更新时间:2023-11-28 11:37:19 25 4
gpt4 key购买 nike

我正在通过为自己设置一些小练习来练习基本的 JS 技能。在这个中,我有一个列表 <a> s 位于 div 内。练习的目的是包装每个 <a>在一个 div 中。我正在使用replaceChild在这种情况下。

奇怪的是(至少对我来说)该脚本适用于前三个链接,但之后会抛出错误:

Uncaught TypeError: Cannot read property 'parentNode' of undefined

我不知道为什么该脚本部分有效。有人能看到我在这里做错了什么吗?这是我正在使用的代码:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">

<style media="all">
div div {padding: 10px; background: #e7e7e7; margin: 5px;}
</style>

</head>
<body>

<div>
<a href="">link</a>
<a href="">link</a>
<a href="">link</a>
<a href="">link</a>
<a href="">link</a>
<a href="">link</a>
</div>

<script>
var links = document.getElementsByTagName("a");
for (var i=0, ii=links.length; i<ii; i++)
{
var container = document.createElement("div");
links[i].parentNode.replaceChild(container, links[i]);
container.appendChild(links[i]);
}
</script>

</body>
</html>

这是一个在线版本:http://codepen.io/anon/pen/Lpuky

我已经尝试了一些我所知道的调试技术并阅读了有关此错误消息的信息,但还没有弄清楚这里出了什么问题。我觉得很有趣的是它适用于 6 个链接中的 3 个。

最佳答案

集合linksNodeList并且处于事件状态

由于您要替换它们,它们将从集合中消失,并且我们对它们的索引不再指向任何内容。

关于javascript - 了解未定义错误的 'parentNode',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16432406/

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