2009-10-02 67 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