此代码段的最后一行出现错误:
var anchor = "<a id=\"hostname\" href=\"" + destination + "\"> "+ imagename + "</a>";
var specialdiv = document.getElementById("specialdiv");
console.log("div: " + specialdiv);
specialdiv.appendChild(anchor);
真的没有其他事情......我确认specialdiv
不是null或类似的东西。谁能解释为什么我在这条线上出现这个错误?
答案 0 :(得分:15)
不传递字符串,而是传递元素
var link = document.createElement('a');
link.innerHTML = imagename;
link.id = "hostname";
link.href = destination;
var specialdiv = document.getElementById("specialdiv");
specialdiv.appendChild(link);
答案 1 :(得分:3)
您收到该错误是因为appendChild
需要DOM元素,而不是字符串。在使用appendChild
之前,您需要实际创建一个DOM元素。
var anchor = document.createElement('a');
anchor.id = "hostname";
anchor.href = destination;
anchor.innerHTML = imagename;
var specialdiv = document.getElementById("specialdiv");
specialdiv.appendChild(anchor);