お世話になります。
jqueryを使って無駄なspanタグを削除したいのですが、可能でしょうか?
例えば以下のhtmlがあった場合、
------------------------------------------
<span class="a">あいうえお</span>
<span>かきくけこ</span>
<span class="b">さしすせそ</span>
<span>たちつてと</span>
------------------------------------------
jqueryを使うことで、
------------------------------------------
<span class="a">あいうえお</span>
かきくけこ
<span class="b">さしすせそ</span>
たちつてと
------------------------------------------
このように無駄なspanタグを削除したいのですが、可能でしょうか?
ご存知の方、ご回答いただければ幸いです。
よろしくお願い致します。
No.4ベストアンサー
- 回答日時:
質問文を素直に実行するのなら。
$("span:not([class])").each( function(i){
var childNodes = this.childNodes;
$(this).replaceWith(childNodes);
});
検証データ
動作前
<div>
<p>
<span class="a">あいうえお</span>
<span>かきくけこ</span>
<span class="b">さし<span>す</span>せそ</span>
<span>たち<span>つ</span>てと</span>
なに<span>ぬ</span>ねの
</p>
</div>
動作後
<div>
<p>
<span class="a">あいうえお</span>
かきくけこ
<span class="b">さしすせそ</span>
たちつてと
なにぬねの
</p>
</div>
改行コードは半角スペースとして表示されます。(HTMLの文法に準拠。)
.children()にtextNodeが入っておらず、意外と苦労しました。
ご回答いただきありがとうございます。
素晴らしいです!
当方の求めていた回答ズバリでした。
この度はご回答いただき本当にありがとうございました。
No.3
- 回答日時:
検証環境がないのでちょっと適当になってしまいますが……。
// 対象の指定
var d_span_target = $('span.a') ;
//削除前テキストの取得
var d_span_txt = d_span_target.next().text();
//書き換え
d_span_target.next().html(d_span_txt);
とかでどうでしょう?
ご回答ありがとうございます。
実際のソースは削除前テキストが対象の次にあるとは限らないため、
当方の想定しているものとは少し異なっていました。
ただ、jqueryでの解決策を教えていただき、感謝しております。
ありがとうございます。
No.2
- 回答日時:
なぜjqueryなのでしょう。
単純にスタイルシートで
span[class]{display:inline;}
span{display:none;}
と属性セレクタで上書きすればよいだけかと・・・
詳細度が11と1だと11のほうが大きいので・・
HTML/CSSをきちんと身につけましょう。
ご回答ありがとうございます。
質問にもお書きしましたが、jqueryを使っての解決策を求めています。
さらに、残念ながらその方法では、
かきくけこ
たちつてと
の文字まで消えてしまいますね、、、;
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
MAX関数を使ってからLEFT JOIN...
-
createElementで作成した要素を...
-
classの中の<a>タグにidを追加
-
jQueryでクリックされた要素のi...
-
iframe内のリンクが飛ばないの...
-
foreach文で20件のループに、空...
-
背景色を透明化
-
document.all.id1.innerText="ok";
-
javascriptテキストBOX色を元に...
-
jQueryで同じid属性が複数あっ...
-
一部のjavascriptがfirefoxで効...
-
クリックで色変更後に既に変更...
-
jqueryを使って無駄なspanタグ...
-
Javascriptで可変のHTMLのID名...
-
getElementByIdの戻り値がnull...
-
javascriptで編集されたHTMLの...
-
onclickとonmouseoverを同時に...
-
もう一度onclickを利用した伸縮...
-
オンマウスで画像と説明文を表...
-
javascript ループ中の処理
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
MAX関数を使ってからLEFT JOIN...
-
javascriptテキストBOX色を元に...
-
iframe内のリンクが飛ばないの...
-
createElementで作成した要素を...
-
removeEventListenerについて
-
背景色を透明化
-
クリックで色変更後に既に変更...
-
前回の質問の続き function mov...
-
読み込んだQRコードをフォーム...
-
IFRAMEの表示/非表示を切り替え...
-
removeAttribute()メソッドで削...
-
console.log結果をhtmlで表示し...
-
変数内容をHTML内で表示する方法
-
VideoBoxのカスタマイズ
-
[急ぎ] videoタグで埋め込んだm...
-
CSSで指定したwidthをマウスで...
-
取得した要素がインライン要素...
-
JAVAスクリプトについて
-
テキストエリア内の一部の文字...
-
jQueryで同じid属性が複数あっ...
おすすめ情報