実現したいこと
掲題のとおりです。
jQuery(または JavaScript)でどのように書いたらよいでしょうか。
該当のソースコード
HTML
1<div id="target"> 2 ここは削除する 3 <div>ここは残す</div> 4 ここは削除する 5 <span>ここは残す</span> 6</div>

回答1件
あなたの回答
tips
プレビュー
JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。
jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。
JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。
jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。
0グッド
0クリップ
投稿2023/02/03 15:13
掲題のとおりです。
jQuery(または JavaScript)でどのように書いたらよいでしょうか。
HTML
1<div id="target"> 2 ここは削除する 3 <div>ここは残す</div> 4 ここは削除する 5 <span>ここは残す</span> 6</div>
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答1件
0
ベストアンサー
こちらはいかがでしょうか。
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}
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総合スコア2316
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。