0

我想用来.append()向表中添加新行。但是,class="addRowDemo3"class="removeRowDemo3"没有附加。关于为什么的任何想法?

$('.addRowDemo3').click(function(){
    $('#Demo3 > tbody:last').append('<tr><td>Google</td><td>12.3</td><td>14.5</td><td>17.3</td><td>20.2</td><td><button class="addRowDemo3">Add a row</button><button class="removeRowDemo3">Remove a row</button></td></tr>');
});
4

2 回答 2

5

应附加添加和删除具有正确类的行的按钮。但该事件不受新元素的约束。

当您使用 $('selector').click(function(){}) 时,只有当前在 DOM 中可用且由选择器匹配的元素才会绑定到事件处理程序。

对于未来的元素,请尝试使用 jQuery "on":

尝试这个

$('#Demo3').on('click', '.addRowDemo3', function(){
    $('#Demo3 > tbody:last').append('<tr><td>Google</td><td>12.3</td><td>14.5</td><td>17.3</td><td>20.2</td><td><button class="addRowDemo3">Add a row</button><button class="removeRowDemo3">Remove a row</button></td></tr>');
});

这样您就可以将事件委托给“#Demo3”。每当您单击新添加或现有的“.addRowDemo3”时,事件都会冒泡到“#Demo3”并执行您的函数

见:http ://api.jquery.com/on/

于 2012-08-27T21:16:53.657 回答
0

对我来说似乎工作正常,你的代码有什么不同?

http://jsfiddle.net/CV3kp/

这是一个使用 on 作为 labroo 和 daedalus 建议的版本,可能是您真正想要的

http://jsfiddle.net/HWRhX/1/

于 2012-08-27T21:23:49.800 回答