2014-05-02 353 views
-2

HTML字符串:如何使用javascript/jquery從ul中刪除特定的li?

var ul = document.getElementById("list"); 
$("#list").append(
    "<li class='margbottom'>" + 
    "<label id='id_'><img src='images/icon-approved1.png' class='imgspace' align='absmiddle'/><span id='categoriesName'>" + categoryName + "</span>: <span id='categoriesValue'>" + value + "</span></label>" + 
    "<div class='menuicon'>" + 
     "<ul>" + 
     "<li><a href='#url' onclick='removeCategory();'><img src='images/icon_minus.png'></a></li>" + 
     "<li><a href='#url'><img src='images/icon-searchby-s.png'></a></li>" + 
     "</ul>" + 
    "</div>" + 
    "</li>" 
); 

JS:

function removeCategory(){ 
    alert("Inside removeCategory"); 
    var elem = document.getElementById('list'); 
    elem.parentNode.removeChild(elem); 
} 

我創建動態李名單,我需要動態地將其刪除。 bt通過調用removeCategory它將刪除所有元素而不是特定的元素。 任何人都可以提供幫助嗎? 在此先感謝。

+1

選擇要刪除的特定元素...?如果不向我們展示您的HTML,我不確定您希望得到什麼答案。 –

+0

標記是什麼樣的?它看起來像你正在刪除稱爲'列表',這聽起來像一個完整的列表整個元素... – David

+0

(不要忘記標記答案爲接受,如果它適合你) – PhistucK

回答

1
$("ul").find("[particular li selector]").remove(); 

以上只是一個起點。這一切都取決於你有多容易訪問有問題的特定李。您可以直接(通過ID)或通過父母以某種方式訪問​​它。

如果有可能做到這一點

$("#particularLI").remove(); 
+0

我這樣做,因爲他可能沒有id,它可能需要一個更通用的選擇器 – TGH

+3

好吧,但考慮'children()'而不是'find()'然後(可能有嵌套列表)。 –

+3

建議您在答案中澄清一下,以及您可以直接選擇「特定li」並在其上調用remove()的事實。 – Josh

2

在這種特定情況下,你應該通過this到removeCategory功能,並使用它作爲元素。 所以,基本上 -

<a href='#url' onclick='removeCategory();' 

應該是 -

<a href='#url' onclick='removeCategory(this);' 

,功能應該是 -

function removeCategory(elem){ 
    alert("Inside removeCategory"); 
    elem.parentNode.removeChild(elem); 
} 

然而,在JavaScript中添加HTML這樣氣餒。如果必須的話,至少不要使用內聯事件偵聽器,而應該使用jQuery添加它們($("#list a").on("click", removeCategory);,然後在更新的函數中使用this而不是elem)。

此外,您的代碼確實刪除了整個列表,因爲您始終刪除了具有list ID的元素的父元素。

2

在jQuery中,你可以這樣做:

添加類'removeLink'到您的標籤。不需要onClick()操作。

jQuery代碼刪除:

$('removeLink').click(function(){ 
    var iconDiv = $(this).closest('.menuicon'); 
    var li = iconDiv.closest('<li>'); 
    li.remove(); 
}); 
+0

+1我認爲這是迄今爲止最乾淨的答案 – AeroX

相關問題