未捕获类型错误:Failed to execute 'appendChild'on 'Node&

Uncaught TypeError: Failed to execute 'appendChild' on 'Node': parameter 1 is not of type 'Node'

本文关键字:appendChild Node on execute to 类型 错误 Failed      更新时间:2023-09-26
var line = "<p><strong>" + name + ": </strong>" + message.field_message_body.und[0].value + "</p>";
console.log(line);
console.log(document.getElementById("messages"));
document.getElementById("messages").appendChild(line);

消息存在并且返回

<div id=messages"></div>

Nothing似乎是空的,所以我不确定为什么会抛出这个。

有人知道为什么会抛出这个错误吗?

您传递的line变量不是Node,而是String。先试试

var line = document.createElement("p");
line.innerHTML = "<strong>" + name + ": </strong>" + message.field_message_body.und[0].value;
document.getElementById("messages").appendChild(line);

这个怎么样:

var line = "<p><strong>" + name + ": </strong>" + message.field_message_body.und[0].value + "</p>";
var msgHTML = document.getElementById("messages").innerHTML;
document.getElementById("messages").innerHTML = msgHTML + line;