jQuery - 在加载正文后查找并替换文本

cof*_*tor 15 jquery replace find

关于用jquery查找和替换文本,我从其他人那里获得了一些惊人的帮助.

下面的代码将找到单词:"Subject:"并将其替换为"Name:"

$("*").each(function () { 
   if ($(this).children().length == 0) { 
      $(this).text($(this).text().replace('Subject:','Name:')); 
   } 
});
Run Code Online (Sandbox Code Playgroud)

这非常有效.

我遇到的唯一问题是替换页面加载后加载的文本.

我确实有一些javascript函数显示来自服务器的数据,但只有在页面加载了所有元素之后.例如,用户从下拉列表中选择一个值,该值启动事件以从数据库加载产品列表.

我格式化了一些像这样的产品:

格兰尼史密斯苹果价格:x.xx每磅营养成分....

我只想找到一个替换"Price:"这个词,并可能用"Cost:"替换它.

但正如我所提到的,该数据尚未加载.并且仅在用户从下拉菜单中选择"Granny Smith Apples"后显示.

这是我必须忍受的限制吗?

ick*_*fay 13

您可以尝试将事件附加到ajaxStop事件以及加载时:

function replaceText() {
    var jthis = $(this);
    $("*").each(function() { 
        if(jthis.children().length==0) { 
            jthis.text(jthis.text().replace('Subject:', 'Name:')); 
        } 
    });
}
$(document).ready(replaceText);
$("html").ajaxStop(replaceText);
Run Code Online (Sandbox Code Playgroud)