使用 jQuery 在单击时删除父元素

Posted

技术标签:

【中文标题】使用 jQuery 在单击时删除父元素【英文标题】:Removing a parent element on click using jQuery 【发布时间】:2016-09-15 11:46:57 【问题描述】:

我在创建用户可以添加和删除文本字段的动态表单时遇到问题。添加额外字段的功能可以正常工作,但删除字段似乎无法正常工作。

我的html是:

<div class="formItem" id="members">
  <label for="workgroup">Add Members:</label>
  <br />
  <a href="#" id="addMember">Add another member</a>
  <p>
    <input type="text" name="members[]" placeholder="Enter email" autocomplete="off" />
  </p>
</div>

我的 JS:

$('#addMember').on('click', function() 
  $('<p><input type="text" name="members[]" placeholder="Enter email" autocomplete="off" /><a href="#" id="removeMember">Remove</a></p>').appendTo('#members');
  return false;
);

$('#removeMember').on('click', function() 
  $(this).parent().remove();
);

【问题讨论】:

【参考方案1】:

在实际创建元素之前添加点击监听器,使用:

$('#members').on('click', '#removeMember', function() 
  $(this).parent().remove();
);

查看这些示例http://api.jquery.com/on/#entry-examples

【讨论】:

【参考方案2】:

试试这个

$(document).on('click','#removeMember', function() 
    $(this).parent().remove();
);

【讨论】:

以上是关于使用 jQuery 在单击时删除父元素的主要内容,如果未能解决你的问题,请参考以下文章

如何从另一个子 td 元素检查父 tr 元素内的 td 元素的值

已知子元素时如何在jQuery中获取父元素?

JQuery中查找父元素,子元素,追加元素,插入元素和删除元素

jquery删除父元素

模拟单击元素的单击元素的父元素的父元素的兄弟元素

JQuery从父元素中删除元素