jQuery删除div onclick

时间:2013-04-29 19:57:37

标签: javascript jquery

当我删除某些东西

时,我似乎无法让我的jQuery删除div

代码是:

<div class="amend_order" data-item_key="1367264719mz7">
    <p>Home Made Ice Cream</p>
    <p class="small_text">Pistachio</p>
    <p>
        <a class="edit_item ui-link" href="javascript:void(0);">Edit</a>
        ----
        <a class="deleter ui-link" href="javascript:void(0);">Delete</a>
    </p>
</div>

我尝试过使用

$(this).closest('div').remove();

不幸的是,这不起作用。

基本上有几个divs的列表,我只是希望它们在点击时消失。

4 个答案:

答案 0 :(得分:5)

如果动态添加容器div,则需要使用事件委派。试试这个:

$("#container").on("click", ".amend_order .deleter", function () {
    $(this).closest("div").remove();
});

DEMO: http://jsfiddle.net/m6jVP/

如果它们是动态添加的,那么事件绑定实际上不会找到任何元素,因此在单击时不会执行。此事件处理针对#container内的任何元素运行,这些元素在单击时与选择器.amend_order .deleter匹配。

您可以使用与包含您要定位的这些div的稳定(静态)元素匹配的选择器替换#container,必要时使用document

答案 1 :(得分:1)

HTML

<div class="amend_order" data-item_key="1367264719mz7">
    <p>Home Made Ice Cream</p>
    <p class="small_text">Pistachio</p>
    <p>
    <a class="edit_item ui-link" href="javascript:void(0);">Edit</a>
    ----
    <a class="deleter ui-link" href="javascript:void(0);">Delete</a>
</p>
</div>

JS

$('.deleter').on('click', function(){
  $(this).closest('div').remove();
})

实时样本http://jsfiddle.net/Ny346/

答案 2 :(得分:0)

尝试指向div:

$('div.amend_order').click(function(){
   $(this).remove();
});

或点击删除按钮时:

$('a.deleter.ui-link').click(function(){
   $(this).parent('div').remove();
});

答案 3 :(得分:0)

试试这个:

$('.deleter').on('click', function(){
  $(this).parent().parent().remove;
})

Live Sample