Javascript JS无法执行';追加儿童';在';节点';:参数1的类型不是';节点';
我正在尝试从XML中动态添加信息并添加到div中。我的想法是在现有div中添加新div(不是强制性的。我也可以实际添加到现有div) JSJavascript 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.
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进行了测试,它正在工作。我的错误,工作了!谢谢您,请不要对评论投反对票