首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >HTML替换脚本仅替换第一项

HTML替换脚本仅替换第一项
EN

Stack Overflow用户
提问于 2013-02-20 23:49:09
回答 4查看 149关注 0票数 2

我有这个脚本运行在一个日语目录,工作,以取代网页上的英文术语的博客插件的术语是不可定制的。它工作得很好,但它似乎只在第一次看到这个术语时才会取代它。

http://www.martyregan.com/jp/blog/

例如,在底部的博客帖子中,你会看到View Post,Tags,Feb仍然是英文的。

脚本如下:

代码语言:javascript
运行
复制
$(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','タグ'));
})
    })

我如何改变它,让它在看到它的任何地方都抓住这个术语?谢谢!

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-02-21 00:02:19

顺便说一句,您使用这种方法对DOM造成了很大的冲击。

考虑缓存.html()结果,然后在此基础上运行替换,首先,在将新文本放回DOM之前:

代码语言:javascript
运行
复制
$(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);
    })
})
票数 3
EN

Stack Overflow用户

发布于 2013-02-20 23:50:45

您需要将正则表达式与将重复使用的/g选项一起使用,否则string.replace()只运行一次。

例如:

代码语言:javascript
运行
复制
$(this).html($(this).html().replace(/Category List/g,'ブログテーマ一覧'));
票数 5
EN

Stack Overflow用户

发布于 2013-02-20 23:52:02

据我所知,replace是一个原生JavaScript函数。为了让它替换所有出现的内容,您必须为要搜索的字符串使用g参数,例如/ RegEx /g而不是"searchstring“

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14984116

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档