jquery - 尝试删除从按钮生成的 <li> 时,remove() 不起作用

标签 jquery

我有一个按钮可以将 li 添加到有序列表中。在添加的此项中,有一个删除按钮。我试图将此按钮嵌套在 li 删除本身和父级中,但 remove() 似乎不起作用。

$('.add').click(()=>{
  var item = "<li>Item - <button class='delete'>Delete</button></li>"
  
  $('ol').append(item);
  
});

$('ol').on( 'click','.delete' ,(e)=>{
  console.log('clicked');
  
  $(e).parent().remove();
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ol>

</ol>
<button class='add'>Add</button>

最佳答案

使用$(e.target).parent().remove();,因为e.target告诉我们点击了哪个元素。

您的 add 函数之所以起作用,是因为您不必与您单击的元素进行交互。

演示

$('.add').click(()=>{
  var item = "<li>Item - <button class='delete'>Delete</button></li>"
  
  $('ol').append(item);
  
});

$('ol').on( 'click','.delete' ,(e)=>{
  
  $(e.target).parent().remove();
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ol>

</ol>
<button class='add'>Add</button>

关于jquery - 尝试删除从按钮生成的 <li> 时,remove() 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54773363/

相关文章:

asp.net - 用于在按键时跳到文本框的 Jquery 函数

jQuery DataTables 可编辑 - 空值时只读

javascript - 最近的具有特定 ID 的前一个元素(使用 prev())?

javascript - 如何在重叠元素上重新触发 jQuery 悬停事件?

javascript - JQUERY:当 Dropdownlist2 = "certain value"时隐藏 Dropdownlist1

javascript - 扩展对象导致 jQuery 错误

javascript - 你能在 JavaScript 字符串插值中执行三元表达式吗?

javascript - 如何相对于 img 大小调整图像叠加大小

javascript - 在文本框的情况下,readOnly 属性可以是切换形式吗?

JavaScript:在 1 秒内逐渐将 CSS 属性的值增加 100