Jquery-删除包含li的链接

Jquery-删除包含li的链接,jquery,ajax,Jquery,Ajax,我在元素中有一个链接,希望在单击链接时删除元素。这是我的密码: <li id='i80'> <div class='singleitem'> <img src='/css/images/image.png' width='30' height='30' /> <div id='listtext'><h1>Title</h1></div> <a class='delete' id='80' hr

我在
  • 元素中有一个链接,希望在单击链接时删除
  • 元素。这是我的密码:

    <li id='i80'>
     <div class='singleitem'>
      <img src='/css/images/image.png' width='30' height='30' />
      <div id='listtext'><h1>Title</h1></div>
      <a class='delete' id='80' href='#'></a>
      <div id='helper'></div>
     </div>
    </li>
    
    ajax工作正常,“deleted”状态被正确地发回,但是,这一行涉及删除父
    li
    的操作根本不起作用。有什么想法吗?谢谢

    编辑:

    我注意到,我动态添加到现有
    ul
    的新列表项在这里不起作用。这是因为这只是在页面最初加载时加载,然后无法处理动态更新的内容吗?

    $(ajax块中的这个)对象不是$(“.delete”)对象。您需要执行以下操作:

    $(".delete").click(function(e){
     var $del_button = $(this);
     var del_id = $(this).attr('id');
     e.preventDefault();
     $.post("/add/delete.php", { iid: del_id } ,function(data){
      if(data.status == 'deleted');
       {
         $del_button.closest("li").remove();
       }
     });
    });
    
    尝试$(this.parent().remove()


    (虽然感觉像是锯断了你坐着的树枝……)

    试试下面的方法,你需要参考父母

    $(this).parent().remove()
    

    编辑 以适应OP提出的附加问题。
    使用
    .on()
    方法,如:

    $(".singleitem").on('click', 'a.delete', function(e){
     var del_btn = $(this);              // cahed
     var del_id = del_btn.attr('id');
     e.preventDefault();
     $.post("/add/delete.php", { iid: del_id } ,function(data){
      if(data.status == 'deleted');
       {
         del_btn.closest("li").remove(); // used
       }
     });
    });
    

    你做到了!非常感谢您的快速回复,它现在工作得非常好。时间一到,我就把这个标记为已答复。再次感谢!就这样!非常感谢您的快速回答@nbu-是的:)我知道我和mask8有相同的答案。多亏了你。快乐编码!还有一个问题:我注意到我动态添加到现有ul的新列表项在这里不起作用。这是因为这只是在页面最初加载时加载,然后无法处理动态更新的内容吗?我可以重新编辑我的答案以使其工作。你可以改进/刷新你的问题,嗯,这似乎对我不起作用。我的代码都在
    $function(){}
    中,可以吗?你试过了吗?你的代码应该可以工作-但是(看起来好像不行)我的代码可以工作?我不需要,我知道问题出在哪里,我知道最接近的
    父母做什么…玩得好:-)只是想帮你。。。看看新的答案,我也看到了!只是想指出最近的
    就像父节点一样,但是它会遍历DOM直到找到它的祖先,而父节点则直接作为父节点。酷?
    $(".delete").click(function(e){
     var del_btn = $(this);              // cahed
     var del_id = del_btn.attr('id');
     e.preventDefault();
     $.post("/add/delete.php", { iid: del_id } ,function(data){
      if(data.status == 'deleted');
       {
         del_btn.closest("li").remove(); // used
       }
     });
    });
    
    $(".singleitem").on('click', 'a.delete', function(e){
     var del_btn = $(this);              // cahed
     var del_id = del_btn.attr('id');
     e.preventDefault();
     $.post("/add/delete.php", { iid: del_id } ,function(data){
      if(data.status == 'deleted');
       {
         del_btn.closest("li").remove(); // used
       }
     });
    });