jQuery` .parent()。remove()`无效

时间:2015-07-16 13:04:51

标签: javascript jquery

解决方案可能很明显,但是当点击.remove元素时,我试图删除作为父元素的整个.tag元素。目前,单击.remove元素没有响应。

HTML

'<div class="tag"><input id="' + id + '" type="hidden" name="' + name + '" value="' + value + '" />' + input + '<i class="remove dismiss fa fa-remove"></i></div>'

JS

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

4 个答案:

答案 0 :(得分:2)

试试这个:当你动态添加删除链接时,你需要使用.on()注册click handler。但在您的情况下,使用.on()时出错。请使用以下代码。

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

有关 jQuery .on()

的更多信息

答案 1 :(得分:2)

你可以试试这个:

http://jsfiddle.net/myyzrwwe/

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

答案 2 :(得分:1)

您不应始终将事件委托给已委派的同一元素。您需要选择静态父级。在我的示例中,document对象是所有内容的父级。

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

答案 3 :(得分:1)

问题可能是您将事件绑定到.remove,如果此内容是动态的,则可能存在问题。在这些情况下,它更好地绑定到文档。

$(document).on()

回调具有event参数,使用它来删除。

function(e) {
  $(e.currentTarget).parent().remove();
}

检查你是否取消了元素。