未捕获的错误:NOT_FOUND_ERR:用于appendChild调用的DOM异常8

时间:2012-07-24 22:45:05

标签: javascript

  

可能重复:
  javascript appendChild doesn't work

此代码段的最后一行出现错误:

 var anchor = "<a id=\"hostname\" href=\"" + destination + "\"> "+ imagename + "</a>";
 var specialdiv = document.getElementById("specialdiv");
 console.log("div: " + specialdiv);
 specialdiv.appendChild(anchor);

真的没有其他事情......我确认specialdiv不是null或类似的东西。谁能解释为什么我在这条线上出现这个错误?

2 个答案:

答案 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);