Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 完全删除innerHTML img元素_Javascript_Html - Fatal编程技术网

Javascript 完全删除innerHTML img元素

Javascript 完全删除innerHTML img元素,javascript,html,Javascript,Html,使用显示:无使这些图像根本不显示 var typebox = document.getElementById("typebox"); typebox.style.display = 'none'; 它似乎不会删除这些图像,更像是什么都不做 那么,我应该如何完全删除这些图像呢?您缺少了”,而且innetHTML应该是innerHTML。。。将代码更改为: var typebox = document.getElementById("typebox"); typebox.innerHTML = "

使用
显示:无使这些图像根本不显示

var typebox = document.getElementById("typebox");
typebox.style.display = 'none';
它似乎不会删除这些图像,更像是什么都不做


那么,我应该如何完全删除这些图像呢?

您缺少了
,而且
innetHTML
应该是
innerHTML
。。。将代码更改为:

var typebox = document.getElementById("typebox");
typebox.innerHTML = "";
typebox.innerHTML+=”;
var typebox=document.getElementById(“typebox”);
typebox.innerHTML=“”;
只需使用html()方法即可完全删除图像。(对于jquery)

您的代码也可以,但下面的行有问题

typebox.innerHTML += "<div class='typebox'><img id='typeImg' width='30px' height='30px' src='"+d[o].src+"'></div>";

var typebox = document.getElementById("typebox");
typebox.innerHTML = "";
只需将上面的行替换为

typebox.innetHTML = "";

您可以使用JavaScript的
removeChild()
方法来完成此操作。请参阅下面的代码:

typebox.innerHTML = "";
说明:

第一行获取一个元素,该元素的
类为'typebox',并将其分配给名为
myDiv
的变量

第二行从正文中删除
div

有关
removeChild()
的参考,请参阅

试试这个:

在这种情况下会有所帮助

var-typebox=document.getElementById('typebox');
typebox.innerHTML+=“”;
document.getElementById('removeBtn')。addEventListener('click',function(){
var toRemove=document.getElementById('typeImg');
toRemove.parentNode.removeChild(toRemove);
});


删除
您的代码有几个问题:

1) document.getElementById(),读取时,按<代码>id
,而不是类

考虑到你的代码

function deleteDiv(){
var myDiv = document.getElementsByClassName("typebox")[0];
document.removeChild(myDiv);
}
因为将有多个
标签具有相同的
id

如果要删除所有图像及其包装,请执行以下操作:

typebox.innerHTML += "<div class='typebox'><img id='typeImg' width='30px' height='30px' src="+d[o].src+"></div>";

innetHTML
打字错误应该是
innerHTML
谢谢你指出我的错误。tryed无法删除那些img。哦,这是我想要的,我知道服务器img在相同id中添加标签会导致问题,这就是为什么我试图删除和重新添加,顺便说一句,我无法使代码正常工作,它没有删除它。img仍然存在,它不会被删除。它的工作,如果我添加了完整的代码,有没有任何方法,我可以做到这一点,只要点击一个按钮?我不想设置计时器。是因为它添加了addEventListener吗?我只想谢谢你。再次感谢我的朋友。这并不理想:所有的
都将保留在
内。@RayonDabre您将得到以下代码:
,因为您删除了
节点,而不是它的父节点
;-)
typebox.innerHTML += "<div class='typebox'><img id='typeImg' width='30px' height='30px' src='"+d[o].src+"'></div>";
typebox.innerHTML += "<div class='typebox'><img id='typeImg' width='30px' height='30px' src="+d[o].src+"></div>";
var elements = Array.prototype.slice.call(document.getElementsByClassName('typebox'));
elements.forEach(function (element) {
    element.parentNode.parentNode.removeChild(element.parentNode);
);