2012-03-19 188 views
0

我必须删除li内的所有ul,但当前的li除外。删除li以外的所有ul,但当前li

<ul> 
     <li id="Li0"> 
      <ul> 
       <li><span>Childnode1</span></li></ul> 
     </li> 
     <li id="Li1"> 
      <ul> 
       <li><span>Childnode2</span></li></ul> 
     </li> 
     <li id="Li2"> 
      <ul> 
       <li><span>Childnode3</span></li></ul> 
     </li> 
     <li id="Li3"> 
      <ul> 
       <li><span>Childnode4</span></li></ul> 
     </li> 
     <li id="Li4"> 
      <ul> 
       <li><span>Childnode5</span></li></ul> 
     </li> 
     <li id="Li5"> 
      <ul> 
       <li><span>Childnode6</span></li></ul> 
     </li> 
    </ul> 

所以,如果我点击li ID为“合谷”是在此之前,li或明年这个li应该有ul从DOM中删除所有其他li

我正在考虑在jQuery中使用.not运算符,但直到现在还无法做到这一点。

回答

0

这应该有所帮助。

$(function() { 
    $('ul:first').delegate("li[id^='L']", 'click', function() { 
     $("ul:first > li[id!='"+$(this).attr('id')+"'] > ul").remove(); 
    });   
});​ 

演示:http://jsfiddle.net/EJWnn/

0

的是,你要搜索的内容?

$(function(){ 
      $('li').click(function(){ 
       $(this).siblings().children("ul").remove(); 
      });   
    }); 
0

使用的兄弟姐妹找到所有其它相邻元素:

$("li").click(function() { 
    $(this).siblings().find("ul").remove(); 
}); 

您可能希望有比“礼”更具体的选择。