2010-12-01 119 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(); 
});