我会说的很对。我有一张这样的桌子:
<table>
<tr id="template">
<td>Some text</td>
<td><a class="add">Add</a></td>
</tr>
</table>
然后我有一些JavaScript,如下所示:
$(document).ready(function() {
$('a.add').click(function(event) {
var newRow = $('#template').clone();
newRow.removeAttr('id');
newRow.find('td.button a').removeClass('add').addClass('remove').text('Remove');
newRow.unbind(event).click(function()) {
alert('Put some remove row code here');
});
$('#template').before(newRow);
});
});
这一切都是为了显示一个具有单行的表,其最后一列包含一个链接。如果单击该链接,则会创建该行的副本并插入到该行之前。在该过程中,链接元素的类别从“添加”切换为“删除”,链接的文本切换为“删除”。
现在,这一点是,您应该能够通过单击底部行的“添加”链接来添加新行,并通过单击它们的“删除”链接来删除新行。
不幸的是,“删除”链接仍然像“添加”链接一样,添加新行。解除绑定本来可以解决这个问题,但是由于某种原因,它没有这样做。但是,警报仍然显示。
最佳答案
unbind应该在标签上,而不是newRow上。
$(document).ready(function() {
$('a.add').click(function(event) {
var newRow = $('#template').clone();
newRow.removeAttr('id');
newRow.find('td a').removeClass('add').addClass('remove').text('Remove')
.unbind(event).click(function() {
alert('Put some remove row code here');
})
$('#template').before(newRow);
});
});