2009-10-02 68 views
0

我想這刪除相鄰li,但它不工作:如何刪除特定課程的前一課程?

$(this).prev(".Removable").remove(); 

編輯:我只是想刪除緊鄰的li如果有類。

WHEN SELECTABLE IS CLICKED I WANT THE PREVIOUS REMOVABLE TO VANISH 

    <ul> 

    <li class="Removable"> <li> 
    <li class="Selectable"> <li> 
    <li class="Removable">  <li> 

    <ul> 
+0

你可以發佈一些標記,以及執行remove函數的事件嗎? – CMS 2009-10-02 20:23:30

+0

你想要刪除相鄰還是以前的? – jjclarkson 2009-10-02 21:10:32

回答

2

它的工作對我來說:http://jsbin.com/esija/edit

$(document).ready(function() { 
    $(".Selectable").click(function(){ 
    $(this).prev(".Removable").remove(); 
    return false; 
    }) 
}); 

但它僅刪除以前的兄弟as advertised

+0

看起來zsharp只希望點擊「Selectable」時發生刪除。點擊「可移除」後觸發代碼。 – jessegavin 2009-10-02 20:42:59

+0

那裏,解決了...... – jjclarkson 2009-10-02 21:11:34

1

沒有看到你的HTML結構很難確定要使用的最佳選擇,但你可以嘗試一個包羅萬象的遍歷與closest,擊中當前<li>不管你從哪裏開始從遍歷:

$(this).closest('li').prev('li.Removable').remove() 

請參閱Traversing/closest

+0

downvoted,因爲這不符合他的需求,現在他發佈了HTML – Mottie 2009-10-03 02:17:26

+0

@fudgey:實際上,這個答案仍然適用於發佈的HTML。也許你誤解了這個問題? – 2009-10-05 15:12:58