如何使用javascript正确删除表行?
我正在使用下面的HTML如何使用javascript正确删除表行?,javascript,html,Javascript,Html,我正在使用下面的HTML <tr id="1"> <td></td> <td><input class="form-control" value="Extra Data"></td> <td><a href="#save" class="addsub_MS btn btn-primary btn-lg" id="1">Save</a></td> <td><a
<tr id="1">
<td></td>
<td><input class="form-control" value="Extra Data"></td>
<td><a href="#save" class="addsub_MS btn btn-primary btn-lg" id="1">Save</a></td>
<td><a href="#delete" class="delete_MS btn btn-primary btn-lg" id="1">Delete</a></td>
<td></td>
</tr>
这不会删除该行
有什么建议吗?选择器不应该是
`$("a[href=#delete]") or $('.delete_MS')`
反而
$("a[href=#deleteparentms]")
您应该将
此
变量保存在不同的变量中,否则您在done(…)
函数中的引用与您单击的原始a
的引用不同:
$("a.delete_MS").click(function() {
var id;
var that = this;
if ($(this).hasClass('delete_MS')) {
var id = $(this).attr("id");
}
var data = {
id: id
};
$.ajax({
type: "POST",
url: "deleteparent.php",
data: data
}).done(function() {
$(that).closest('tr').remove();
});
});
此
内部的完成
不是锚定
console.log(此)
将显示
你可以用bind
}).done((function() {
$(this).closest('tr').remove();
}).bind(this))};
}).done((function() {
$(this).closest('tr').remove();
}).bind(this))};