Jquery 删除动态添加的<;李>;通过点击<;img>;包含在

Jquery 删除动态添加的<;李>;通过点击<;img>;包含在,jquery,tags,Jquery,Tags,我正在使用来自的脚本 我修改了onComplete以添加一个链接来删除图像。在remove_me()函数中,我想: 1.删除所单击文件的 2.通过ajax在服务器上调用PHP脚本,从服务器上删除该文件,因为该文件已上载 if(response==="success"){ $('<li></li>').appendTo('#files').html('<img src="./uploads/'+file+'" alt="" /><br />'+f

我正在使用来自的脚本 我修改了onComplete以添加一个链接来删除图像。在remove_me()函数中,我想: 1.删除所单击文件的
  • 2.通过ajax在服务器上调用PHP脚本,从服务器上删除该文件,因为该文件已上载

    if(response==="success"){
      $('<li></li>').appendTo('#files').html('<img src="./uploads/'+file+'" alt="" /><br />'+file+'<br />Click to Remove<img src="cross.png" onclick="remove_me(\'./uploads/'+file+'\')" />').addClass('success');
    } else{
      $('<li></li>').appendTo('#files').text(file).addClass('error');
    }
    
    if(响应==“成功”){
    $(“
  • ”).appendTo(“#files”).html(“
    ”+file+”
    单击以删除”).addClass('success'); }否则{ $(“
  • ”).appendTo(“#files”).text(file).addClass('error'); }
    在remove_me()函数中,我可以轻松获取图像名称,因为我通过onClick传递它,但我不确定如何删除包含图像的

  • 文件名将通过ajax调用传递给PHP函数。我知道怎么做,只是去掉我遇到麻烦的
  • 如果图像是LI标记内的唯一元素,则可以使用DOM删除图像的parentNode,从而删除LI


    http://reference.sitepoint.com/javascript/Node/parentNode

    如果您使用的是jQuery,那么不应该使用像“onClick”这样的内联事件绑定。您应该使用绑定事件的标准方式,即:

    $(function() {
        $('img').click(function() {
            // process here
        })
    })
    
    因此,您可以在那里访问任何相关的DOM元素。在您的情况下,您可以将父级
  • 作为
    $(this).parent()
    获取,并使用
    $(this).parent().remove()将其删除

    添加:如果要以友好方式添加这些元素,则必须使用
    live
    绑定事件,如:

    $(function() {
        $('img').live('click', function() {
            // process here
        })
    })
    

    我不确定您在这里展示的内容为何不起作用,因为我看不到remove_me()函数,但我将向您展示如何按照我的方式进行操作

    可以在remove_me()函数中使用$(this),如下所示:

    $(this).closest('li').remove();
    
    这将从单击的位置开始,转到最近的li标记并将其删除

    (darnit两个人刚刚回答了…我不想看…要学会打字更快lol)