我无法在调用函数时删除预先创建的iframe。我设置了可见性:可见所以我可以看到正在发生的事情,并且新创建的iframe在每次调用该函数时彼此相邻堆叠。
BTW,“iframe”确实是动态创建的iframe中的id。所以document.getElementById('iframe')
是正确的。
代码:
if( document.getElementById(iframe) ){
var e = document.getElementById("iframe");
e.removeChild(document.getElementById("iframe"));
}
var iframe = document.createElement("iframe");
iframe.setAttribute("id","iframe");
iframe.setAttribute("class","iframe");
document.getElementById("output").appendChild(iframe);
$("#iframe").attr("display","block");
$("#iframe").attr("src",url);
......我也尝试过:
if( typeof document.getElementById(iframe) !== "undefined" ){
var e = document.getElementById("iframe");
e.removeChild(document.getElementById("iframe")); // e is null error here
}
...但这会导致“e为空错误 ......和
if( ! typeof document.getElementById(iframe) == "undefined" ){
var e = document.getElementById("iframe");
e.removeChild(document.getElementById("iframe"));
}
...没有错误,但iframe也没有被删除。
答案 0 :(得分:3)
此:
if( document.getElementById(iframe) ){
var e = document.getElementById("iframe");
e.removeChild(document.getElementById("iframe"));
}
应改为:
if( document.getElementById("iframe") ){
document.getElementById("iframe").remove();
}