我正在编写一个代码,我想在单击其内部链接(“删除”)时删除div。我知道这个问题可能会重复,我尝试了很多方法,但没有工作。我不知道是什么问题。
这是我的HTML渲染代码:
<div id="ViewRows">
<br>
<div class="ViewRow"> NOS: FA Comment: finance
<a class="deleteViewRow" href="#">Delete</a>
<br>
</div>
<div class="ViewRow">
NOS: TPA Comment: Assistance
<a class="deleteViewRow" href="#">Delete</a>
<br>
</div>
</div>
这是我的javascript代码,用于删除该div。
$("a.deleteViewRow").live("click", function () {
$(this).parents("div.ViewRow:first").remove();
return false;
});
我也尝试过以下javascript:
$("#ViewRows").on("click", "a.deleteViewRow", function () {
$(this).closest("div.ViewRow").andSelf().remove();
return false;
});
我在另一个页面上尝试过相同的代码。它正在工作,但是当我在另一个页面中应用相同的逻辑时。它不起作用。我知道你们都是对的,但我不知道什么是问题。在萤火虫中,它甚至没有进入该功能。
答案 0 :(得分:2)
这应该有效:
$("#ViewRows").on("click", "a.deleteViewRow", function (e) {
// prevent browser from following link
e.preventDefault();
// ".andSelf()" can be skipped - once the parent div is removed, the link gets removed as well
$(this).closest("div.ViewRow").remove();
});
答案 1 :(得分:1)
这个简单而有效的代码可以正常工作:http://jsfiddle.net/L2CsH/
$("#ViewRows").on("click", "a.deleteViewRow", function () {
$(this).parent().remove();
});
答案 2 :(得分:0)
您需要阻止链接的默认操作。 event.preventDefault()
$("#ViewRows").on("click", "a.deleteViewRow", function (e) {
e.preventDefault();
$(this).closest("div.ViewRow").remove(); //.andSelf() is not needed here.
//return false;
});