2

如何删除mainul元素之外的所有内容?

<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>
4

4 回答 4

7

假设期望的结果是<div id="main"><ul></ul></div>并且您想保留所有<ul>s (或者如果只有一个):

$( '#main' ).html( $( '#main ul' ) );​​​​​​​​​​​​​​​​​​​​

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

这样做$( '#main' ).not( 'ul' ).remove()是行不通的,因为它会删除 ul 的父母和与他们一起的 ul(请参阅http://jsfiddle.net/h67Ge/)。

于 2012-04-13T14:47:43.850 回答
1

尝试:

$('#main').children().not('ul').remove();
于 2012-04-13T14:45:57.767 回答
0

可以这样做

  $('#main ul').detach().prependTo('#main').siblings().remove();
于 2012-04-13T15:06:26.067 回答
0
$("ul", "#main").appendTo($("#main")).siblings().remove();

小提琴

于 2012-04-13T15:07:52.617 回答