2012-04-06 52 views
1

我是一名初學者程序員,我遇到以下問題: 如果我有一個嵌套的無序列表,我如何才能將 上的元素複製到某個級別?例如,如果我想減少這種無序列表的前兩個層次:從無序列表中複製某些級別?

<ul> 
    <li>A</li> 
    <ul> 
    <li>C<br> 
    </li> 
    <li>D<br> 
    </li> 
    <ul> 
     <li>E<br> 
     </li> 
     <li>F<br> 
     </li> 
     <ul> 
     <li>G<br> 
     </li> 
     <li>H<br> 
     </li> 
     </ul> 
    </ul> 
    <li>E<br> 
    </li> 
    </ul> 
    <li>B</li> 
</ul> 

<ul> 
    <li>A</li> 
    <ul> 
    <li>C<br> 
    </li> 
    <li>D<br> 
    </li> 
    <li>E<br> 
    </li> 
    </ul> 
    <li>B</li> 
</ul> 

有沒有簡單的方法來實現這一目標?

回答

1

簡易版:

$('ul ul ul').remove(); 

jsFiddle Demo

我還寫了一個小函數,可以讓你指定一個根元素和一個級別:

​​

使用通過調用:

//if the lists are in an element with the id 'root', see Demo 
reduce('#root', 'ul', 2); 

jsFiddle Demo

+1

非常感謝你,偉大的解決方案! – Elip 2012-04-06 17:03:48

1

這應該是這樣的$('ul ul ul').remove(),但你最好用id或class括在例如DIV這樣你就可以做局部清洗$('div.twolvls ul ul ul').remove()

0

如果你只是刪除第三級無序列表,你可以使用$(ul ul ul).remove()

+0

你忘了引號'$('ul ...' – j08691 2012-04-06 16:42:31