我有这个脚本运行在一个日语目录,工作,以取代网页上的英文术语的博客插件的术语是不可定制的。它工作得很好,但它似乎只在第一次看到这个术语时才会取代它。
http://www.martyregan.com/jp/blog/
例如,在底部的博客帖子中,你会看到View Post,Tags,Feb仍然是英文的。
脚本如下:
$(document).ready(function(){
$('#pb_sidebar, #left-sidebar-inner, #pb_body, #main-content-inner, #sidebar-archives').each(function(i){
$(this).html($(this).html().replace('Category List','ブログテーマ一覧'));
$(this).html($(this).html().replace('Tag List','タグ'));
})
})
我如何改变它,让它在看到它的任何地方都抓住这个术语?谢谢!
发布于 2013-02-21 00:02:19
顺便说一句,您使用这种方法对DOM造成了很大的冲击。
考虑缓存.html()结果,然后在此基础上运行替换,首先,在将新文本放回DOM之前:
$(document).ready(function(){
$('#pb_sidebar, #left-sidebar-inner, #pb_body, #main-content-inner, #sidebar-archives').each(function(i){
var mycontent = $(this).html();
mycontent = mycontent.replace(/Category List/g,'ブログテーマ一覧');
mycontent = mycontent.replace(/Tag List/g,'タグ');
$(this).html(mycontent);
})
})
发布于 2013-02-20 23:50:45
您需要将正则表达式与将重复使用的/g
选项一起使用,否则string.replace()
只运行一次。
例如:
$(this).html($(this).html().replace(/Category List/g,'ブログテーマ一覧'));
发布于 2013-02-20 23:52:02
据我所知,replace是一个原生JavaScript函数。为了让它替换所有出现的内容,您必须为要搜索的字符串使用g参数,例如/ RegEx /g而不是"searchstring“
https://stackoverflow.com/questions/14984116
复制相似问题