未捕获的类型错误:无法在“节点"上执行“appendChild":参数 1 的类型不是“节点" [英] Uncaught TypeError: Failed to execute 'appendChild' on 'Node': parameter 1 is not of type 'Node'

查看:52
本文介绍了未捕获的类型错误:无法在“节点"上执行“appendChild":参数 1 的类型不是“节点"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

var line = "

"+ 名称 + ": </strong>"+ message.field_message_body.und[0].value + "</p>";控制台日志(行);console.log(document.getElementById("messages"));document.getElementById("messages").appendChild(line);

<块引用>

消息存在并返回

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

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

解决方案

您传递的 line 变量不是 Node,而是 String.先尝试使用

var line = document.createElement("p");line.innerHTML = ""+ 名称 + ": </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>";
console.log(line);
console.log(document.getElementById("messages"));

document.getElementById("messages").appendChild(line);

messages exists and it returns

<div id=messages"></div>

Nothing appears to be empty, so I'm not sure why this is being thrown.

Does anyone have any idea why it might be throwing this error?

解决方案

The line variable you're passing isn't a Node, it's a String. Try first using

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

这篇关于未捕获的类型错误:无法在“节点"上执行“appendChild":参数 1 的类型不是“节点"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆