2016-12-30 243 views
2

我有一個問題,當我嘗試刪除我在js中創建的li時,以下代碼將刪除所有列表,而不僅僅是單擊li
,並且在選擇父級時跨度不起作用正確
js刪除父元素

function showdata() { 
    var newtodo = $("#newtodo").val(); 
    $("ol").append('<li class"batodo" >' + newtodo + '<span class="deltodo">' +" x" + "</span>" + "</li>"); 
} 

$(".deltodo").click(function() { 
    $(this).parents(".batodo").remove(); 
}); 
+0

我猜你的元素是組織在一個樹結構和根目錄被刪除。如果是這樣,你應該用'最接近的(「。batodo」)替換父母(「。batodo」)'。你能確認或給我們展示一些html例子嗎? –

+0

@Satpal雖然OP不正確地使用事件綁定,但他的問題標題和描述提出了一個完全不同的問題。我不認爲這是重複的,或者至少不是'動態創建的元素上的事件綁定' –

+0

@AlexandruSeverin重新打開 – Satpal

回答

1

在這種情況下,你可以使用:

$(this).parent().remove(); 
0

的工作代碼感謝幫助:)

function showdata() { 
var newtodo = $("#newtodo").val(); 
$("ol").append('<li class"batodo" >' + newtodo + '<span class="deltodo">' +" del" + '</span>' + "</li>"); 
$(".deltodo").click(function(){ 
     $(this).parents("li:first").remove(); 
    }); 

};