以下の関数では、chld は IE でのみ null です。Firefox では、javascript は正常に動作します。
var div = document.createElement("div");
var divid = "dv" + num;
div.setAttribute("ID", divid);
div.setAttribute("value", num);
var _text = document.createElement("input");
_text.setAttribute("type", "text");
_text.setAttribute("id", "txtAsName" + num);
_text.setAttribute("name", "txtAsName" + num);
var lbl = document.createElement("label");
var _upload = document.createElement("input");
_upload.setAttribute("type", "file");
_upload.setAttribute("ID", "upload" + num);
_upload.setAttribute("name", "uploads" + num);
_upload.setAttribute("size", "80");
var hyp = document.createElement("a");
//hyp.setAttribute("style", "cursor:Pointer");
hyp.style.cssText='cursor:Pointer';
//hyp.setAttribute("onclick", "return RemoveDv('" + divid + "');");
hyp.onclick=function() {RemoveDv(divid);};
hyp.innerHTML = "Remove";
var br = document.createElement("br");
var _pdiv = document.getElementById("Parent");
div.appendChild(br);
div.appendChild(lbl);
div.innerHTML += ' ';
div.appendChild(_text);
div.innerHTML += ' ';
div.appendChild(_upload);
div.innerHTML += ' ';
div.appendChild(hyp);
_pdiv.appendChild(div);
....
削除機能はこちら
function RemoveDv(obj) {
var p = document.getElementById("Parent");
var chld = document.getElementById(obj);
p.removeChild(chld);
}
これが、私が削除しようとしているdivタグの嘘です..
<div align="left" id="Parent">
<div ID="dv1" value="1">
<div ID="dv2" value="2">
....
興味深いことに、「デバッグのために」このコード行を追加しても、 chld1 はまだ null です
var chld1 = document.getElementById("dv1");
アップデート:
コード自体に問題はないようです。同じコードを実行すると、ローカルコードの chld が設定されます。しかし、このコードを開発サーバーから実行すると、要素が表示されません。
なぜこれが考えられるのでしょうか?