2010-12-01 78 views
5

對於添加行我寫這樣的選擇和刪除行

$('#tab1 tbody ').append('<tr id='+i+'><td>'+k+'</td><td>'+l+'</td><td>'+m+'</td></tr>'); 

的代碼在上面的代碼片段i是全球價值..

現在,如果我試圖選擇新添加的行是不承認..因爲我選擇這樣寫

$('#tab1 td').click(function(){ 
alert(i); 
$(this).parent().remove(); 
}); 

你看到有什麼錯誤嗎?

+3

IDS和類,你不能直接看到錯誤,但它可以給怪異的結果,同時使用jquery或javascript模仿dom – kobe 2010-12-01 05:29:02

回答

6

我認爲你的td元素有無效的id。 ID不應以數字開頭。嘗試在i之前附加一些靜態文本。

而且你必須使用.live()事件得到了在JS

$('#tab1 td').live("click", function(){ 
    alert(i); 
    $(this).parent().remove(); 
}); 
+0

真的很感謝你我嘗試並通知u – Mihir 2010-12-01 09:17:48

4

你只是添加click處理程序存在的.click()線執行時的<td>元件產生的元素。

您需要調用.live()函數,該函數會將您的處理函數添加到與選擇器匹配的所有元素,而不管它們何時創建。

4

變化

$('#tab1 td').click(function(){ 

$('#tab1 td').live('click', function(){ 
4

在運行時添加的,所以你應該@永遠不會使用數字爲現場直播,而不是點擊

http://api.jquery.com/live/

$('#tab1 td').live('click', function() { 
    alert(i); 
$(this).parent().remove(); 
});