gpt4 book ai didi

javascript - removechild 给出 NS_ERROR_INVALID_POINTER 错误

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

我正在使用此 Javascript 命令将空 div 替换为页面上另一个 div 的值。所以我的 html 中有这个:

<a href = "... some links that call the javascript ...">text link</a>
<div id="highlight">
</div>

<div id="1">
...some text
</div>

<div id="2">
... some text
</div>

脚本是

settext(newdiv) {
// set top of page highlight to appropriate text
var desc = document.getElementById('highlight');
if (desc.hasChildNodes()) desc.removeChild(desc.lastChild);
document.getElementById('highlight').appendChild(
document.getElementById(newdiv));
}

第一次将“突出显示”div 替换为另一个 div 1、2、3 等时,脚本可以正常工作。因此,当我单击相应的超链接文本时,空白 div (id="highlight") 将填充下面关联的 div 的内容(例如 div id="1")。

然后,当我单击新链接时,div id="highlight"的内容消失并被新的 div 文本替换。但是第二次我单击一个在“hightlight”div 为空白之前已被删除的 div。仅当我使用以前未单击的 div 时,它才会被替换。

当我在 Firefox Web 控制台中查看 Javascript 错误时,它显示:

"Component returned failure code: 0X80004003 (NS_ERROR_INVALID_POINTER) [nsIDOMHTMLDivElement.removeChild]"

由于某种原因,它似乎超出了范围。我该如何解决这个问题?

最佳答案

我建议使用“innerHTML”来移动 div 内容,而不是在节点级别修改 DOM。

关于javascript - removechild 给出 NS_ERROR_INVALID_POINTER 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11383177/

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