[英]Delete and edit a dynamically created li from ul
我通過從輸入框提供輸入來創建li
,並使用jquery在li
追加數據,但是在添加li
之后,我添加了刪除按鈕,但是它可以工作,但是可以通過單擊任何刪除按鈕來刪除所有li
。 如何一一刪除。 還有另一件事,我該如何通過單擊來編輯那些li
?
這是代碼:
$('#submit').on('click', function(){
var $item = $('#addList').val();
if($item.trim() == ''){
alert('please enter the value');
} else {
$('ul#listItem').append('<li>'+ $item + '<button class="btn">delect</button>' + '</li>');
$(document).on('click', '.btn', function(){
$('ul#listItem > li').remove();
return false;
});
}
$item = $('#addList').val(' ');
});
這是html:
<form>
<input type="text" id="addList">
<input type="button" id="submit" value="Add">
</form>
嘗試這個
$(document).on('click', 'ul#listItem > li .btn', function(){
$(this).closest('li').remove();
return false;
});
使用此JavaScript一次捕獲所有內容:
$(document).on('click', 'ul#listItem li button.btn', function() {
$(this).closest('li').remove();
});
單擊文檔中的任何位置(完整窗口)時,它將檢查目標是否與選擇器ul#listItem li button.btn
匹配,這些選擇器是列表中的按鈕。 然后,它尋找最接近的li
,它是按鈕周圍的那個li
,並刪除它,包括按鈕本身。
您的整個代碼如下
$('#submit').on('click', function(){
var $item = $('#addList').val();
if($item.trim() == '') {
alert('please enter the value');
} else {
$('ul#listItem').append('<li>'+ $item + '<button class="btn">delect</button>' + '</li>');
}
$item = $('#addList').val(' ');
});
$(document).on('click', 'ul#listItem li button.btn', function() {
$(this).closest('li').remove();
});
更改
$(document).on('click', '.btn', function(){
$('ul#listItem > li').remove();
return false;
});
至:
$(document).on('click', '.btn', function(){
$(this).parent("li").remove();
return false;
});
應該管用 :)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.