11

重複の可能性:
javascriptappendChildが機能しない

このスニペットの最後の行でエラーが発生します。

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

本当に他に何も起こっていません...私はそれspecialdivがnullまたはそのようなものではないことを確認しました。その行でこのエラーが発生する理由を誰かが説明できますか?

4

2 に答える 2

15

文字列ではなく要素を渡す

var link = document.createElement('a');
link.innerHTML = imagename;
link.id = "hostname";
link.href = destination;

var specialdiv = document.getElementById("specialdiv");
specialdiv.appendChild(link);
于 2012-07-24T22:50:43.783 に答える
3

appendChild文字列ではなくDOM要素を使用するため、このエラーが発生します。を使用する前に、実際にDOM要素を作成する必要がありますappendChild

var anchor = document.createElement('a');
anchor.id = "hostname";
anchor.href = destination;
anchor.innerHTML = imagename;

var specialdiv = document.getElementById("specialdiv");
specialdiv.appendChild(anchor);
于 2012-07-24T22:48:46.153 に答える