実現したいこと
掲題のとおりです。
jQuery(または JavaScript)でどのように書いたらよいでしょうか。
該当のソースコード
HTML
1<div id="target"> 2 ここは削除する 3 <div>ここは残す</div> 4 ここは削除する 5 <span>ここは残す</span> 6</div>
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
下記のような質問は推奨されていません。
- 質問になっていない投稿
- スパムや攻撃的な表現を用いた投稿
適切な質問に修正を依頼しましょう。
こちらの質問が複数のユーザーから「調査したこと・試したことが記載されていない質問」という指摘を受けました。
回答1件
1
ベストアンサー
こちらはいかがでしょうか。
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});
投稿2023/02/03 18:16
編集2023/02/03 19:41総合スコア2307
下記のような回答は推奨されていません。
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
このような回答には修正を依頼しましょう。
回答へのコメント
関連した質問
Q&A
解決済
ボタンのcssが一部にしか効かない
回答2
クリップ0
更新
2020/03/04
Q&A
解決済
「rails」Rspecで表示されたエラー内容について
回答1
クリップ0
更新
2023/04/01
Q&A
解決済
CSS ハンバーガーメニューの3本線の内1つの線だけ太さが異なって表示されてしまう。
回答1
クリップ1
更新
2023/04/01
Q&A
解決済
プルダウンの選択肢によって、表示非表示を切り替えたい
回答2
クリップ0
更新
2023/03/31
Q&A
受付中
実行するタイミングでスクレイピング内容が変わる?
回答2
クリップ1
更新
2023/03/23
Q&A
解決済
JavaScriptで既存のtr要素の中にthを追加したい
回答1
クリップ1
更新
2023/03/13
Q&A
解決済
【Rails6】jQueryでハンバーガーメニューが動かなくなる
回答1
クリップ0
更新
2023/03/29
Q&A
解決済
複数の入力欄の文字数を個別にカウントしてリアルタイムに表示する方法
回答1
クリップ0
更新
2023/03/22
同じタグがついた質問を見る
JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。
jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。