除了一个之外,jQuery删除了div孩子们

Gau*_*rav 2 jquery

如何删除元素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>
Run Code Online (Sandbox Code Playgroud)

JJJ*_*JJJ 7

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

$( '#main' ).html( $( '#main ul' ) );????????????????????
Run Code Online (Sandbox Code Playgroud)

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

这样做$( '#main' ).not( 'ul' ).remove()是行不通的,因为它会删除ul的父母和ul(参见http://jsfiddle.net/h67Ge/).