当前位置:  开发笔记 > 编程语言 > 正文

使用JS查找并替换文档中的特定文本字符

如何解决《使用JS查找并替换文档中的特定文本字符》经验,为你挑选了3个好方法。

我想知道是否有一种轻量级方式我可以使用JavaScript或jQuery来嗅出文档中的特定文本字符; 说并找到这个角色的所有实例.然后!写一个用$替换所有实例的能力.

我找到了这个首发代码片段:

var str = 'test: '';

str = str.replace(/'/g, "'");

实质上; 我想要一个单页文档的解决方案.抓住X的所有实例并使其成为XY.只有文字字符.



1> 小智..:

怎么样,替换@$:

$("body").children().each(function () {
    $(this).html( $(this).html().replace(/@/g,"$") );
});

http://jsfiddle.net/maximua/jp96C/1/


如果你要替换字母字符`.replace(/ soMeWord/gi,"Another Word"),那么在正则表达式中添加`i`会给你一个不区分大小写的搜索.
这可以修改HTML代码以及文本:http://jsfiddle.net/jp96C/498/

2> David Thomas..:

我个人的建议如下:

function nativeSelector() {
    var elements = document.querySelectorAll("body, body *");
    var results = [];
    var child;
    for(var i = 0; i < elements.length; i++) {
        child = elements[i].childNodes[0];
        if(elements[i].hasChildNodes() && child.nodeType == 3) {
            results.push(child);
        }
    }
    return results;
}

var textnodes = nativeSelector(),
    _nv;
for (var i = 0, len = textnodes.length; i

JS小提琴演示.

nativeSelector()函数来自一个答案(由Anurag发布)到这个问题:getElementsByTagName()等效于textNodes.



3> Sebastian Si..:

ECMAScript 2015+方法

解决此任务时的陷阱

这似乎是一件容易的事,但你必须要处理好几件事:

简单地替换整个HTML会杀死所有DOM功能,例如事件侦听器

替换HTML也可能替换

惬听风吟jyy_802
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有