1

私はこのHTMLを持っています:

    <div id="hi">
    <span style="border:1px solid red;">This span should stay</span>
    <br />
    this should be removed
</div>

span ではない div#hi 内のすべて (*) を削除したいと思います。

これはうまくいかないようです:

 $('#hi').not('span').remove();

それはあらゆるものを取り除きます。他に何を試すことができますか?

JsFiddle の例

4

2 に答える 2

5
$('#hi').contents().filter(function(){
     return this.localName !== 'span';
}).remove();

http://jsfiddle.net/TUuQ9/

于 2013-03-19T11:31:50.217 に答える
1

これを試すことができます.clone()

$cln = $('#hi').find('span').clone();
$('#hi').html($cln);

フィドル

于 2013-03-19T11:38:35.867 に答える