2013-01-25 58 views
2

我想提出的導航欄使用<ul><li>問題與使用JQuery

我第一次數據,如(HTML)去除李

<ul id="menu_xml_txt"> 
    <li id="1"> Root Catalog </li> 
</ul> 

當點擊Root Catalog它將替換這一切<li>它會喜歡

<ul id="menu_xml_txt"> 
<li id="2">Apparel</li> 
<li id="3">Accessories</li> 
</ul> 

等等。當你點擊它會改變,取而代之的是全新的<li>

當你點擊<li>將添加到div=reg_navlist我使用jQuery函數的.append

那麼它會喜歡

<ul id="reg_navlist"> 
<li id="1">Root Catalog</li> 
<li id="3">Accessories</li> 
<li id="45">bla bla..</li> 
<li id="80">bla bla..</li> 
<li id="95">bla bla..</li> 
<li id="115">bla bla..</li> 
</ul> 

我想要只刪除那些<li>元素,這是我點擊了& li,並在它後面 例如,如果我點擊了<li id=45>然後id = 45和id = 80,id = 95和id = 115將被刪除而不是ID = 1和ID = 3

我試圖此jQuery代碼

j('#region_navlist li').live('click', function() { 
    var cliked_id = j(this).attr('id'); 
    j('#region_nav li:not(:first)').remove(); 
}); 

,但它在去除所有<li>不是第一個

+0

看看[.nextAll()](http://api.jquery.com/nextAll/),你也不應該用一個數字來啓動一個'id':例如,id和name屬性必須從一封信開始,而不是一個數字。「 –

回答

5

做:

j('#region_navlist li').on('click', function() { 
    j(this).nextAll().andSelf().remove(); 
}); 

見:andSelf()nextAll()

Note:- .live() is deprecated you use .on() if version 1.7