除main
元素外,如何删除ul
内的所有内容?
<div id="main">
<div id="a">
<div id="b">
<div id="c"></div>
<div id="d"></div>
<div id="e">
<ul></ul>
</div>
</div>
</div>
</div>
答案 0 :(得分:7)
假设期望的结果是<div id="main"><ul></ul></div>
,并且您希望保留所有<ul>
(或者如果只有一个):
$( '#main' ).html( $( '#main ul' ) );
执行$( '#main' ).not( 'ul' ).remove()
是行不通的,因为它会删除ul的父母和ul(参见http://jsfiddle.net/h67Ge/)。
答案 1 :(得分:1)
尝试:
$('#main').children().not('ul').remove();
答案 2 :(得分:0)
可以做到这一点
$('#main ul').detach().prependTo('#main').siblings().remove();
答案 3 :(得分:0)
$("ul", "#main").appendTo($("#main")).siblings().remove();