私はHTMLタグを追加するためにJavascript replace()を使用したい(しかし、それは文字列として返す)

私は任意のspan.certain_class内の "y"文字を "i"で置き換えるシンプルなjavascript関数を持っています:

$(document).ready(function() {
$('span.certain_class').each(function() {
    $(this).text($(this).text().replace(/y/ig, function(s) {
        return (s === 'Y' ? 'I' : 'i');
    }));
});

});

私が抱えている問題は、置き換えられた文字をスパンで囲みたいということです。

i

これを行うと、ブラウザはタグをHTMLコードとして解析するのではなく、文字列として出力します。

誰も私がこれを解決するのを助けることができます

0

4 答え

試す

$(this).html($(this).text().replace........

結果は、プレーンテキストではなくHTMLとして解析されます。

2
追加された
ブーム!それがそれでした。ありがとう。
追加された 著者 emersonthis,

.text()の代わりに $(this).html(...)を使用して内容を設定します。置き換えるコンテンツを読むときに html を使用することもできます(シナリオの内容によって異なります)。

1
追加された

最初の呼び出しを text()に変更して html()の呼び出しに変更できるはずです。

$(this).html($(this).text().rep...
1
追加された
$(document).ready(function() {
    $('span.certain_class').each(function() {
        $(this).html($(this).text().replace(/y/ig, function(s) {
            return (s === 'Y' ? 'I' : 'i');
        }));
    });
});

$(this).textを$(this).htmlに変更してください

1
追加された
JavaScript - 日本のコミュニティ
JavaScript - 日本のコミュニティ
2 参加者の

日本人コミュニティのjavascript