0

我正在尝试使用 jQuery 删除表格行。我使用了所有我能找到的方法,但都没有奏效。我在每一行的末尾都有一个删除,当我单击它时,我会触发一个函数,该函数应该删除它所在的行。但它只是行不通。

在评论中是我失败的尝试。除了当前项目(类似这样)之外,是否有一个伪类?

function del(){

//$(this).parent().parent().remove();
//$(this).closest("tr").remove();
//$('table tr:last').remove();   this one worked but it deletes the last and I want the current one to be deleted

 }

这是生成表的代码:

$.getJSON("nutritional_value.php?value=" + encodeURI(value), function (data) {
var ttr = $("<tr class='rou' />");   
$.each(data, function(k, v){
var store_1 = v * (parseFloat(uneseno, 10) / 100);
var xstore_1 = store_1.toFixed(2);

$("<td class='teedee'></td>").text(k=='name' ? v : xstore_1).appendTo(ttr);



});
$("<td id='delete' onClick='del();'>Delete</td>").appendTo(ttr);
$("#tejbl").append(ttr);
}); 
4

1 回答 1

3

$(this).closest("tr").remove();如果您将 HTML 更改为使用onClick='del(this);'. 更好的是跳过丑陋的 DOM0 事件绑定并使用.on()

$(document).on('click', 'td.delete', del);

请注意,您的代码当前正在生成具有重复 ID 的 HTML,这很糟糕。元素 ID 必须是唯一的。改用类:

$("<td class='delete'>Delete</td>").appendTo(ttr);
于 2013-06-03T22:26:49.730 回答