2012-03-19 215 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(); 
}); 

您可能希望有比「禮」更具體的選擇。