前提・実現したいこと
.tag というクラスを持つHTMLタグだけを html() として .target に入れて、それ以外のHTMLタグは text() で入れたいです。
発生している問題・エラーメッセージ
全てHTMLになるか、すべてテキストになるか、にしかできません。
該当のソースコード
<html> <head> <style> .tag{color:red;} div{display:inline;} </style> <script> var str = '私は<span class="tag">JavaScript</span>が<span>苦手</span>で、<span class="tag">CSS</span>は少しわかります'; </script> </head> <body> <div class="target"></div> </body> </html>
試したこと
まず知っているのが html() なので次のように試しました。
$('.target').html(str);
こちらですと下図になり、すべてがHTMLとして扱われてしまいます。
調べてみますと html() がいけないようで、text() という方法を見つけました。それが次です。
$('.target').text(str);
しかし下図になり、すべてがテキストとして扱われてしまいます。
やりたいのは.tagだけをHTMLとして扱い、下図の表示を目指しています。
補足情報(FW/ツールのバージョンなど)
jQueryのバージョンは3.4.1になります。
尚、var str = ''; の中はspanだけでなくあらゆるHTMLタグが想定されます。
回答2件
あなたの回答
tips
プレビュー