Javascript 删除多个画布
我需要删除创建的多个画布元素。使用下面的功能,我可以在每次单击按钮时删除一个,但我需要一次删除所有创建的画布。我该怎么做Javascript 删除多个画布,javascript,Javascript,我需要删除创建的多个画布元素。使用下面的功能,我可以在每次单击按钮时删除一个,但我需要一次删除所有创建的画布。我该怎么做 function deleteCanvas() { var list = document.getElementById("output"); list.removeChild(list.childNodes[0]); } 您可以在时使用,只要列表中有子元素,就可以继续删除它们: 函数deleteCanvas(){ var list=docum
function deleteCanvas() {
var list = document.getElementById("output");
list.removeChild(list.childNodes[0]);
}
您可以在时使用
,只要列表中有子元素,就可以继续删除它们:
函数deleteCanvas(){
var list=document.getElementById(“输出”);
while(list.childNodes.length){
list.removeChild(list.childNodes[0]);
}
}
画布{
宽度:10px;
高度:10px;
外形:纯红1px;
}
删除所有画布元素
,各种方法可以选择多个元素。只需在返回的列表上循环并删除()即可
例如,如果您有一堆要删除的
元素,您可以使用带有querySelectorAll的canvas.game
css选择器,或者将game
传递到getElementsByClassName
以这些特定元素为目标(不考虑其他画布元素):
let list=document.querySelectorAll('canvas.game');
//或
let list=document.getElementsByClassName(“游戏”);
对于(设i=0;i可能是这样
let canvasses = document.getElementsByTagName("canvas");
//you can also do this with classes.
while (canvasses.length > 0) {
for (let i =0; i < canvasses.length; i++) {
canvasses[i].remove();
}
}
let canvasses=document.getElementsByTagName(“canvas”);
//您也可以通过类来实现这一点。
而(canvasses.length>0){
for(设i=0;i
你能发布你的html文件吗?你所有的画布元素都包含在“output”元素中吗?@FZs它们包含:并且有一个适用于旧浏览器的多边形填充(IE)哦,是的,我知道了!我不知道!我一直使用node.parentNode.removeChild(node)
为此…直到现在。+1注意,这将不分青红皂白地删除父元素中的所有节点,而不会检查它是否正在删除画布元素。此外,childNodes
包含文本节点,因此您可能会意外删除非空文本节点。children
可能是更好的选择,因为它只包含元素。
let canvasses = document.getElementsByTagName("canvas");
//you can also do this with classes.
while (canvasses.length > 0) {
for (let i =0; i < canvasses.length; i++) {
canvasses[i].remove();
}
}