0

div自体を削除せずに、2つのdiv要素からコンテンツを削除しようとしています。

<div id='test'>

content I want to remove

    <div id='childDiv'>

      content I want to remove

   </div>

</div>

childDivとtestdivを保持したいのですが、それらの内容を削除します。それ、どうやったら出来るの?

$('#test').empty()も削除されchildDivます。

4

5 に答える 5

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/

于 2012-11-20T23:20:19.710 に答える
1

.contents() と関数を使用 して、.filter()それらをフィルタリングします。

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

フィドルをチェック

余分な入れ子

return this.nodeType != 1すべての非要素タイプのノードを選択し、それらをDOMから削除します。

于 2012-11-20T23:26:58.140 に答える
1

これを行うJavaScriptの方法は次のとおりです。

document.getElementById('test').innerHTML = '';
document.getElementById('childDiv').innerHTML = '';
于 2012-11-20T23:29:40.087 に答える
0
$('#test').html('');

すべての内部マークアップもクリアします。

于 2012-11-20T23:24:13.460 に答える
0

これは機能するはずです:

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

$('#childDiv').text('');
于 2012-11-20T23:24:36.353 に答える