Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当我使用append child追加字符串时,Javascript无法识别节点_Javascript_Dom - Fatal编程技术网

当我使用append child追加字符串时,Javascript无法识别节点

当我使用append child追加字符串时,Javascript无法识别节点,javascript,dom,Javascript,Dom,我正在使用DOM命令来更好地理解它们。但是,当我尝试将HTML字符串附加到我所选元素的子元素时,会收到一条错误消息。我收到一条错误消息,说我的div3变量不是节点。但是,当I console.logdiv3时,它会作为节点列在控制台日志中。我做错了什么 var div3=document.getElementById'div3'; div3.innerHTML=测试字符串; console.logdiv3; div3.appendChildmyH2标记 我的同僚们都是精英。Consequatu

我正在使用DOM命令来更好地理解它们。但是,当我尝试将HTML字符串附加到我所选元素的子元素时,会收到一条错误消息。我收到一条错误消息,说我的div3变量不是节点。但是,当I console.logdiv3时,它会作为节点列在控制台日志中。我做错了什么

var div3=document.getElementById'div3'; div3.innerHTML=测试字符串; console.logdiv3; div3.appendChildmyH2标记
我的同僚们都是精英。Consequatur,natus。

如果您收到与我相同的错误消息,则如下所示:

VM189:1未捕获类型错误:未能在“节点”上执行“appendChild”: 参数1不是“节点”类型

这是因为myH2标记不是节点

如果要附加这样的标记,必须从头创建一个节点,然后再附加它:

//您的代码: var div3=document.getElementById'div3'; div3.innerHTML=测试字符串; //新的: const newNode=document.createElement'h2' newNode.innerText=myH2标记 div3.appendChildnewNode
应该可以了。

您需要为doElement转换div3变量,使用以下命令:div3=new DOMParser.parseFromStringdiv3,text/xml;在调用appendChild之前,原因是您试图将字符串传递给appendChild函数-它必须是节点类型。您可以将innerHTML中的标记与内容一起传递,但我添加的代码片段为您提供了一个与之相邻的方法

appendChild的MDN链接-MDN是我们的朋友:

让parent=document.querySelector'.my body'; 让header=document.createElement'h2'; //将内容插入到我们上面创建的标题中 header.innerHTML='这是一些标题文本'; //将标题附加到容器 parent.appendChildheader;
它不是关于div3的,它是关于您正在传递一个字符串的事实,而不是一个要appendChildmyH2的节点。标记不是一个节点,而是一个字符串/文本。你可以阅读关于“MarcHjorth Please”的主题;使用官方文档:@ChrisG个人而言,我相信W3文档比官方文档更容易让新来者理解,尤其是关于附加一个孩子的文档。但我会记住的,谢谢!