1

div 内のすべての要素をループし、<em> および <strong> タグを使用するだけで特定の文字列を置き換えてスタイルを設定する jQuery を作成しました。これは正常に機能し、コードは次のとおりです。

var regex = /some text/gi;
$(".container *").each(function () {
    $(this).html($(this).html().replace(regex, '<em><strong>Some</strong> Text</em>'));
});

私が抱えている問題は、これがすべての Title 属性と Alt 属性のテキストにも影響することです。スタイルを設定できず、文字通り <em><strong>Some</strong> として表示されるため、望ましくありません。テキスト</em>。

元の Title/Alt 値を変数に格納してから置き換えてから元の値に戻そうとしましたが、属性値に <em> および <strong> タグが含まれていると、完全にアクセスできないようです. それらを削除して再度追加することさえできません。これは本当に奇妙に思えます。

これを回避する方法があるかどうか誰か教えてください。

4

1 に答える 1

0

$(this).html().replace の代わりに、$(this).text().replace を試しましたか?

この方法では、すべての html ではなく、要素の実際のテキストのみを置き換えます。

于 2013-07-02T13:23:59.847 に答える