在这种情况下,innerhtml和appendChild之间的区别

时间:2018-11-01 07:19:25

标签: javascript html

我试图认识到innerHTML和appendChild之间的区别。 我知道innerHTML会清除当前节点的内容,并将其替换为新内容,然后对其进行重新解析。但是,我看到结果不符合我的预期。怎么会这样呢? (我正在使用Google Chrome)

window.addEventListener("load", function() {
var a = document.createElement("h1");
var b = document.createTextNode("Hello World");
a.appendChild(b);
document.getElementById("1").innerHTML = a; //result = [object HTMLHeadingElement]

var c = "<h1>HEllo WORLD</h1>";
document.getElementById("2").innerHTML = c ; //result = Hello World
});

1 个答案:

答案 0 :(得分:1)

您的问题有一个答案:innerHTML替换目标文本节点中的内容“原样”。因此,如果不向innerHTML函数提供String,它将显示“ toString”应用于您提供的对象的结果。在您的情况下,“ a”是[object HTMLHeadingElement]。