Javascript JS无法执行';追加儿童';在';节点';:参数1的类型不是';节点';

Javascript JS无法执行';追加儿童';在';节点';:参数1的类型不是';节点';,javascript,dom,Javascript,Dom,我正在尝试从XML中动态添加信息并添加到div中。我的想法是在现有div中添加新div(不是强制性的。我也可以实际添加到现有div) JS var newDiv = document.createElement("div"); //new Div newDiv.appendChild(sideTab); var existingDiv = document.getElementById("vertical"); //Existing div document.

我正在尝试从XML中动态添加信息并添加到div中。我的想法是在现有div中添加新div(不是强制性的。我也可以实际添加到现有div)

JS

    var newDiv = document.createElement("div");  //new Div
    newDiv.appendChild(sideTab);
    var existingDiv = document.getElementById("vertical");  //Existing div
    document.body.insertBefore(newDiv,existingDiv);
sideTab将有如下内容:

 <ul class ="tab" >
     <li><a href="#" class="tab"> Something</a></li>
 </ul>
现有部门

    <div class="left" id="vertical">

但当我执行时,我得到了这个错误:
无法在“节点”上执行“appendChild”:参数1不是“节点”类型。

将字符串解析为DOM,并将所需元素添加到HTML中

<!DOCTYPE html>
<html>

<head>
<script>
window.onload = function() {
    var newDiv = document.createElement("div"); //new Div
    var parser = new DOMParser();
    var el = parser.parseFromString(`<ul id="sideBar"><li><a>Something</a></li></ul>`, "text/html");
    var element = el.getElementById("sideBar");
    newDiv.appendChild(element);
    var existingDiv = document.getElementById("vertical"); //Existing div
    document.body.insertBefore(newDiv, existingDiv);
}
</script>
</head>

<body>
    <div class="left" id="vertical"></div>
</body>

</html>

window.onload=函数(){
var newDiv=document.createElement(“div”);//新div
var parser=新的DOMParser();

var el=parser.parseFromString(`
  • 您在哪里定义了
    侧标签
    ?似乎您在
    侧标签
    中拥有的任何内容都不是
    节点
    类型,只是错误消息所说的。推测:
    侧标签
    的值是一个字符串(HTML)然后错误消息非常清楚地解释了错误。@Joseph-所以它是一个字符串而不是节点。它需要是一个节点。请参阅
    createElement
    和friends。OP在注释中澄清了
    sideTab
    是一个字符串,而不是
    null
    。只是修复了。请不要在注释中澄清OP时拒绝投票。我只是修改了当我创建解决方案时,dn没有看到它。我仍然收到相同的错误。“未能在“节点”上执行“appendChild”:参数1不是“node”类型。您测试了plunker吗?我使用FF和Chrome进行了测试,它正在工作。我的错误,工作了!谢谢您,请不要对评论投反对票