こちらはいかがでしょうか。
JavaScriptのコード例
中身を全部削除してから、要素のみ挿入しなおす手法
javascript
1// 親要素を取得
2const targetElm = document.querySelector('#target');
3// 子要素(親直下のテキスト等は含まない)を全て取得
4const children = targetElm.querySelectorAll('*');
5// 親要素の中身を全て削除する
6targetElm.innerHTML = '';
7// 取得した子要素を繰り返し処理で一つずつ末尾に追加していく
8children.forEach(element => targetElm.appendChild(element));
直下のテキストノードのみ削除する手法
javascript
1// 親要素を取得
2const targetElm = document.querySelector('#target');
3// 親要素の中身を全て取得(Nodeと言います。要素だけでなく、テキストやコメントも含む)
4const childNodes = targetElm.childNodes;
5
6// 取得したNodeを一つずつ繰り返し処理
7for (const node of childNodes) {
8 // テキストノードかどうか判定
9 const isText = node.nodeType === 3;
10 // テキストノードだった場合削除
11 if (isText) node.remove();
12}
jQueryのコード例
中身を全部削除してから、要素のみ挿入しなおす手法
javascript
1$(function() {
2 // 親要素を取得
3 const $target = $('#target');
4 // 子要素(親直下のテキスト等は含まない)を全て取得
5 const $children = $target.children();
6
7 // 親要素の中身を全て削除する
8 $target.empty();
9
10 // 取得した子要素を繰り返し処理で一つずつ末尾に追加していく
11 $children.each(function() {
12 $target.append($(this));
13 });
14});