首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >jQuery替换html页中出现的所有字符串

jQuery替换html页中出现的所有字符串
EN

Stack Overflow用户
提问于 2014-08-04 05:24:07
回答 4查看 72.5K关注 0票数 22

我正在做一个项目,我需要用另一个字符串替换所有出现的字符串。但是,如果字符串是文本,我只想替换它。例如,我想把这个..。

代码语言:javascript
复制
<div id="container">
  <h1>Hi</h1>
  <h2 class="Hi">Test</h2>
  Hi
</div>

变成..。

代码语言:javascript
复制
<div id="container">
  <h1>Hello</h1>
  <h2 class="Hi">Test</h2>
  Hello
</div>

在该示例中,除了作为h2类的"Hi“之外,所有的”Hi“都被转换为”Hello“。我试过了..。

代码语言:javascript
复制
$("#container").html( $("#container").html().replace( /Hi/g, "Hello" ) )

..。但这也会替换html中出现的所有"Hi“

EN

回答 4

Stack Overflow用户

发布于 2015-05-07 17:15:43

很好的结果:

代码语言:javascript
复制
function str_replace_all(string, str_find, str_replace){
try{
    return string.replace( new RegExp(str_find, "gi"), str_replace ) ;      
} catch(ex){return string;}}

也更容易记住。

票数 9
EN

Stack Overflow用户

发布于 2015-11-21 13:48:54

代码语言:javascript
复制
 replacedstr = str.replace(/needtoreplace/gi, 'replacewith');

需要替换的内容不应由'四舍五入

票数 8
EN

Stack Overflow用户

发布于 2014-08-04 05:39:19

代码语言:javascript
复制
//Get all text nodes in a given container
//Source: http://stackoverflow.com/a/4399718/560114
function getTextNodesIn(node, includeWhitespaceNodes) {
    var textNodes = [], nonWhitespaceMatcher = /\S/;

    function getTextNodes(node) {
        if (node.nodeType == 3) {
            if (includeWhitespaceNodes || nonWhitespaceMatcher.test(node.nodeValue)) {
                textNodes.push(node);
            }
        } else {
            for (var i = 0, len = node.childNodes.length; i < len; ++i) {
                getTextNodes(node.childNodes[i]);
            }
        }
    }

    getTextNodes(node);
    return textNodes;
}

var textNodes = getTextNodesIn( $("#container")[0], false );
var i = textNodes.length;
var node;
while (i--) {
    node = textNodes[i];
    node.textContent = node.textContent.replace(/Hi/g, "Hello");
}

请注意,这也将匹配"Hi“只是单词的一部分的单词,例如“希尔”要仅匹配整个单词,请使用/\bHi\b/g

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

https://stackoverflow.com/questions/25109275

复制
相关文章

相似问题

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