2010-08-14 204 views
1

我試圖讓一個畫布元素被添加到DOM,然後在設定的時間後被刪除。 killbox()函數被調用,但元素不會被刪除。我相信我的語法正確,並且刪除動態添加的DOM元素存在一些根本問題。爲什麼不會jQuery remove()在這種情況下工作?

// 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(); 

} 
+1

ARG傳遞參數!你是對的! TY Peter和Jarrett !!!!! – jason 2010-08-14 17:12:47

回答

1

killbox要刪除使用該文本ID id的元素。反而嘗試;

$('#' + id).remove(); 

以上將移除具有「id」變量設置爲的id的元素。

0

你確定你不想要$("#" + id).remove();

0

,因爲你正在尋找與元素的ID id,但你更想從功能

function killbox(id){ 
    con("in killbox. id:" + id); 
    $('#'+id).remove(); 

} 
相關問題