点击链接时删除Div

时间:2013-03-11 12:46:35

标签: javascript jquery

我正在编写一个代码,我想在单击其内部链接(“删除”)时删除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;
});

我在另一个页面上尝试过相同的代码。它正在工作,但是当我在另一个页面中应用相同的逻辑时。它不起作用。我知道你们都是对的,但我不知道什么是问题。在萤火虫中,它甚至没有进入该功能。

3 个答案:

答案 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;
});

演示:Remove Div JSFiddle