从div元素中删除内容

时间:2012-11-20 23:18:39

标签: jquery

我试图从2个div元素中删除内容而不删除div本身。

<div id='test'>

content I want to remove

    <div id='childDiv'>

      content I want to remove

   </div>

</div>

我想保留childDiv并测试div但删除其内容。我该怎么做?

$('#test').empty()也会删除childDiv

5 个答案:

答案 0 :(得分:3)

如何存储childDiv然后清空父项,然后将内部子项放回去?

$('#test').html($('#childDiv').html()) // didn't quite work

// this clears both divs and leaves only the structure
$('#test').html($('#childDiv').html("")); 

jsFiddle,用铬检查生成的黑线,检查。 http://jsfiddle.net/tbspn/

答案 1 :(得分:1)

使用.contents().filter()功能过滤掉它们。

$('div').each(function() {
    $(this).contents().filter(function() {
        return this.nodeType != 1
    }).remove();
});​

<强> Check Fiddle

<强> Extra Nesting

return this.nodeType != 1将选择所有非元素类型节点并将其从 DOM中删除。

答案 2 :(得分:1)

这是JavaScript的方法:

document.getElementById('test').innerHTML = '';
document.getElementById('childDiv').innerHTML = '';

答案 3 :(得分:0)

$('#test').html('');

也清除所有内部标记。

答案 4 :(得分:0)

这应该有效:

$('#test').text('');

$('#childDiv').text('');