我试图将canvas元素添加到DOM中,然后在设定的时间后删除。调用killbox()函数,但不删除该元素。我相信我的语法正确,并且删除动态添加的DOM元素存在一些潜在的问题。
// con是console.log()
的缩写function spawnCanvas(e) {
con(e);
var boxheight=50;
var boxwidth=50;
var xpos = e.clientX - boxwidth/2;
var ypos = e.clientY - boxheight/2;
var id = xpos.toString() + ypos.toString();
con("id:" + id);
var tag = "<canvas width='" + boxwidth +
"' height='" + boxheight +
"' style='position:absolute; border:1px solid #000; left:" +
xpos + "px; top:" + ypos + "px;' id='" + id + "'></canvas>";
con(tag);
var t = $(tag);
$("body").append(t);
var p = setTimeout("killbox(" + id + ")", 1500);
}
function killbox(id){
con("in killbox. id:" + id);
$('#id').remove();
}
答案 0 :(得分:1)
在killbox
内,您要删除文字ID为id
的元素。而是尝试;
$('#' + id).remove();
上面将删除具有“id”变量设置为的id的元素。
答案 1 :(得分:0)
您确定不想要$("#" + id).remove();
吗?
答案 2 :(得分:0)
因为您正在使用ID为id
的元素进行搜索,但您想要从函数中传递参数
function killbox(id){
con("in killbox. id:" + id);
$('#'+id).remove();
}