使用jquery查找和替换文本

时间:2013-12-26 03:52:44

标签: jquery text replace

我正在尝试使用jquery查找和替换文本。

function replaceText() {
    var jthis = $(this);
    $("*").each(function() { 
        if(jthis.children().length==0) { 
            jthis.text(jthis.text().replace('nts:', 'nights:')); 
        } 
    });
}
$(document).ready(replaceText);
$("html").ajaxStop(replaceText);

这是我的jsfiddle:

http://jsfiddle.net/2GENx

我需要用“晚上”替换页面上的所有“nts”文本。你能告诉我为什么它不起作用吗?

1 个答案:

答案 0 :(得分:1)

我发现您一直试图通过将其值存储在$(this)中来避免一直编写jthis;问题在于,通过这样做,您可以有效地始终检查相同的项目。

相反,请在each()回调中保存参考:

function replaceText() 
{
    jQuery("*").each(function() {
        var $this = jQuery(this);
        if ($this.children().length==0) { 
            $this.text($this.text().replace('nts:', 'nights:')); 
        } 
    });
}

您的页面上似乎还在使用jQuery旁边的wisdomweb,并且不支持.ajaxStop()功能;我能给你的唯一建议是:

  1. 破解图书馆以支持.ajaxStop()
  2. 听取dom changes并在里面进行替换,
  3. 使用更加丑陋的setTimeout()选项。