输入按钮onClick删除最近的div

时间:2012-10-04 18:25:03

标签: javascript jquery

嗯,为什么这不起作用,我多次使用类似这样的代码为我的网站..但现在不工作..

HTML

<div><span>a</span><input type='hidden' /> <input type='button' onClick='Remove(event)' />

JQuery的

function Remove(e){
e.preventDefault();
$(this).closest('div').remove();
}

看起来$(this)不是我的按钮。我测试了alert($(this).val()),没有任何事情发生。

enter image description here

2 个答案:

答案 0 :(得分:4)

如何向按钮元素添加类并将处理程序绑定到按钮

<div>
   <span>a</span>
   <input type='hidden' /> 
   <input type='button' class'removeDiv' />

<强>代码:

$(function () {
    $('.removeDiv').click (function () { 
         $(this).parent().remove();
         // As I see the input is direct child of the div
    });
});
  

我的div也是从客户端和服务器端创建的。它很容易添加onclick函数而不是绑定 - 重新绑定所有新项目,没有?

在这种情况下,您可以使用委派事件。见下文,

$(function () {
    //Replace document with any closest container that is available on load.
    $(document).on('click', '.removeDiv', function () { 
         $(this).parent().remove();
         // As I see the input is direct child of the div
    });
});

答案 1 :(得分:3)

这应该有效!

HTML

<div><span>a</span><input type='hidden' /> <input type='button' onClick='Remove(this)' />

JQuery的

function Remove(obj){
    $(obj).closest('div').remove();
}