Javascript 未捕获类型错误:未能执行';removeChild';在';节点';:参数1的类型不是';节点';
我刚刚注意到我的phpBB聊天扩展有一个问题。我最近有一些记忆问题,就是想不出来。如果有人能伸出援手,我将不胜感激 有问题的jsJavascript 未捕获类型错误:未能执行';removeChild';在';节点';:参数1的类型不是';节点';,javascript,Javascript,我刚刚注意到我的phpBB聊天扩展有一个问题。我最近有一些记忆问题,就是想不出来。如果有人能伸出援手,我将不胜感激 有问题的js } else if (type == 'delete') { var parent = document.getElementById('chat'); var child = document.getElementById('p' + results[0]); paren
} else if (type == 'delete') {
var parent = document.getElementById('chat');
var child = document.getElementById('p' + results[0]);
parent.removeChild(child);
}
如果有人需要查看完整的js。只要问一下,我就会把它贴出来,试着在删除之前检查
子项是否存在:
} else if (type == 'delete') {
var parent = document.getElementById('chat');
var child = parent.getElementById('p' + results[0]);
if (child) parent.removeChild(child);
}
是一种方法,这是错误消息告诉您的
“节点”的“removeChild”
第一个参数是child
,错误消息告诉您它不是节点
返回具有该id的元素(如果存在)。如果不是,则返回null
<代码>节点
是的父接口
因为它不是一个节点,所以它是空的。因此,child
不存在。看起来像是帮助HerrimanCoder在我的情况下不起作用的解决方案的副本,所以我不认为它是副本。我接受你的帖子作为答案。但是,我更改的唯一一行是最后一行if(child)parent.removeChild(child)代码>。多谢各位much@Darin,是的,该行删除错误。另一个var child=parent.getElementById('p'+results[0])代码>在父级中搜索子级,而不是在整个文档中。这将提高性能,并且可能是可选的。感谢您的解释,但这一点都没有帮助。正如我在帖子中所说,我最近遇到了一些内存问题,在寻求帮助之前,我确实先使用了谷歌。我已经读过你的帖子了,但由于我的记忆问题,我无法理解。Kosh发布的内容帮助我解决了这个问题,或者至少完全停止了错误,而没有任何功能损失