
お世話になります。
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を探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
MAX関数を使ってからLEFT JOIN...
-
Javascriptで現在のページ番号...
-
指定字数以降隠す
-
取得した要素がインライン要素...
-
jqueryのsortableで一部ソート...
-
iframe内のリンク文字のマウス...
-
textareaに画像を表示したい
-
【jQuery】2分割レイアウトで、...
-
ボタンをクリックすると、隣の...
-
Slick.jsのオプションrtlについて
-
innerHTMLで、表示すると、一部...
-
Ctrl+F(検索)の窓を出したいの...
-
html内にスライドショーを複数設置
-
img 上の任意の座標範囲の色を...
-
透過pngの透明部分以外をクリッ...
-
スライドショー「Skitter」をカ...
-
jQueryでのドラッグアンドドロ...
-
FireFoxのjavascriptでonloadで...
-
c++std::string型をTCHARに変換...
-
複数画像のランダム複数表示(...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
MAX関数を使ってからLEFT JOIN...
-
javascriptテキストBOX色を元に...
-
createElementで作成した要素を...
-
変数名をどのようにつけるのが...
-
読み込んだQRコードをフォーム...
-
【HP作成】クリックすると下...
-
removeEventListenerについて
-
iframe内のリンクが飛ばないの...
-
[急ぎ] videoタグで埋め込んだm...
-
HTMLタグに複数のクラスを設定...
-
指定したパスが現URLに含まれて...
-
HTMLとJavaScriptで作ったタイ...
-
バッチファイルでカウントアッ...
-
Gif画像のアニメーションが再生...
-
背景色を一定時間ごとにランダ...
-
401エラードキュメントを401.ht...
-
クリックで表示される領域を分...
-
jQuery の jqPlotプラグイン
-
[JavaScript]IE11にてフリック...
-
getElementByIdの戻り値がnull...
おすすめ情報