Javascript JS can';t从页面中删除所有图像
我正在尝试从页面中删除所有图像。页面是HTML格式的。这是我的HTML按钮:Javascript JS can';t从页面中删除所有图像,javascript,Javascript,我正在尝试从页面中删除所有图像。页面是HTML格式的。这是我的HTML按钮: <input id="clickMe" type="button" value="Delete Images" onclick="click();" /> 其功能是: <script type="text/javascript"> function click(){ var images = document.getElementsByTagName('img'); f
<input id="clickMe" type="button" value="Delete Images" onclick="click();" />
其功能是:
<script type="text/javascript">
function click(){
var images = document.getElementsByTagName('img');
for (var i = 0; i < images.length; i++) {
images[i].Node.removeChild(images[0]);
}
}
</script>
函数单击(){
var images=document.getElementsByTagName('img');
对于(var i=0;i
所有元素都标记为“img”删除子元素只能从父元素执行:
函数removeImages(){
var images=[].slice.call(document.getElementsByTagName('img'),0);//将图像作为类似数组的对象获取,并使用slice将其转换为数组
forEach(函数(img){//迭代images数组
img.parentNode.removeChild(img);//通过父节点删除子节点
});
}
删除图像
您不能将单击
作为函数名,因为单击
是一个保留的js方法
要删除,只需在该节点上使用delete()
函数c(){
var images=document.getElementsByTagName('img');
对于(var i=images.length-1;i>=0;i--){
图像[0].parentNode.removeChild(图像[0]);
}
}
少量输入:
函数将永远不会被激发,因为它是保留的,并且优先于附加到click
事件的onclick
处理程序。将处理程序名称更改为有意义的名称click()
- 用于查找
元素。它返回一个非活动img
,该列表包含从调用它的元素派生的、与指定的节点列表
选择器组匹配的所有元素。CSS
- 代码
不正确,因为images[i].Node.removeChild(images[0])
;索引不正确(我们应该从
中删除元素父节点
)图像[0]
函数deleteImages(){
//查询所有'img'元素的非活动节点列表
var images=document.querySelectorAll('img');
//循环遍历每个“图像”对象。
Object.values(images).forEach(函数(元素、索引、数组){
element.parentNode.removeChild(元素);
});
}
img{
宽度:200px;
高度:200px;
保证金:5px;
}
我的鸭子名单
我的花单
您是否有错误信息?我可以告诉您,Node
不是您要查找的名称,您不应该使用images[0]
。aaaaaaa您在迭代该数组时会遇到问题,因为它是一个Yes节点,而不是您要查找的名称,并且您每次都尝试删除图像[0],因此它将无法工作。您想删除图像[i]!;)删除图像[0]
,只要它是真实的。由于images
是一个实时列表,images[0]
每次删除一个列表时都会发生变化,直到没有剩余的图像,并且在(images[0])images[0].parentNode.removeChild(images[0])时它变成了未定义的图像代码>我在使用图像[0]时尝试了控制流,但它不起作用click()
将不会被调用。是的。你说得对。真有趣。我已经修好了。”…只能由家长来完成。”。不是真的。现代浏览器允许您执行node.remove()
。您应该解释您所做的所有更改及其原因。我已经明确说明了删除子项的目的:)我将向代码中添加更多信息。保留字clickBtw捕捉得很好-在IE中不起作用。