我有一个将li添加到有序列表的按钮。在添加的此项中,有一个删除按钮。我试图让这个按钮嵌套在li里面,删除自身和父对象,但是remove()似乎不起作用。
x
$('.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();
});
答案 0 :(得分:3)
使用$(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>
答案 1 :(得分:0)
这可以做到:
$('ol').on('click', '.delete', function () {
console.log('clicked');
$(this).parent().remove();
});