3

本文内で同じ名前のテキストを検索して置換しようとしていますが、部分的に機能しており、一部のテキストが置換されていますが、古いテキストの一部が表示されたままで、何が起こっているのかよくわかりません。の上。

$(document).ready(function() {
    $('*').each(function(){
        if($(this).children().length == 0) 
            $(this).text($(this).text().replace("old text", "replace with new text"));
        });
});

多くの助けをいただければ幸いです

ありがとう

4

1 に答える 1

5

疑似クラスセレクターを使用して、:containsそのテキストを含む要素を見つけ、そこから置き換えます。

$(":contains('old text')").each(function(){
    $(this).text($(this).text().replace('old text', 'new text'));
});

ターゲットにしたい要素のリストがわかっている場合、別の解決策は、最初にそれらの要素を見つけてから、:containsを使用してそれらをフィルタリングすることです。

$('div, p, a, span').filter(":contains('old text')").each(function(){
    $(this).text($(this).text().replace('old text', 'new text'));
});
于 2012-05-03T23:32:38.997 に答える