1

我有这个 HTML:

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

我想删除 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 回答