2013-08-29 54 views
-1

爲什麼單擊時不會刪除<li>.remove單擊時不刪除列表項目jquery

$(".ListOfItems a").click(function() { 
    $(this).parent('li').remove(); 
}); 

這是whereI'm添加列表項的列表:

 <ul class="ListOfItems"> 
     </ul> 

有了這個:

 var list = $(".ListOfItems"); 

    liToAdd = ("<li id = " + itemtoadd + " class = \"itemAdd\">" + name + 
    "<a href=\"#\" > Remove me</a></li>"); 
    list.append(liToAdd); 

一切都很好,但我不能讓一個<li>刪除。

+0

哪個元件是」 .ListOfItems'?你的UL有類「ItemsTotrade」.. –

+0

抱歉有錯的名字。更新代碼 – rogerthat

+0

您可以嘗試從父.parent()中刪除li,就像這樣$(this).parent()。remove(); –

回答

3

嘗試使用()方法用於動態DOM元素

$('.ListOfItems').on('click','a',function() { 
    $(this).parent().remove(); 
}); 

http://api.jquery.com/on/

CodePen: http://codepen.io/Maksim/pen/LEAhv

+1

是的,對不起,on()方法你附加它的元素應該已經在html中開始,$(document)總是起作用,但是如果要做更多percice,你也可以使用$(「.ListOfItems」)。也編輯我的答案。 – Maksim

+0

這是我使用'document'的問題,但這不起作用。你錯過'()'函數之後 – rogerthat

+1

在CodePen中爲你做了一個片段,看一看:http://codepen.io/anon/pen/teBLK 也做了小小的修改 – Maksim

1

使用.on

$(document).on('click, ".ListOfItems a", 'function() { 
    $(this).parent('li').remove(); 
}); 
+0

該死的,那很容易。謝謝,我已經在這裏工作了一個小時。爲什麼它不能用'.ListOfItems a'作爲選擇器? – rogerthat

+0

我曾經使用.on,但沒有'.ListOfItems a'。 – rogerthat

+1

基本上''click'爲存在元素工作,而'on'事件被委託。 – Satpal