用jQuery替换word

用jQuery替换word,jquery,Jquery,我的大多数页面上都有“你好”这个词,我想把它改成“欢迎”。 有可能吗?如果有,如何用jQuery替换这些单词 Hello <p>Hello user Jack</p> <div>Hell ow you from us <h1>12344 Hello</h1> <div>Hellow</div> </div> <script src="jquery-1.5.1.min.js" ty

我的大多数页面上都有“你好”这个词,我想把它改成“欢迎”。 有可能吗?如果有,如何用jQuery替换这些单词

Hello
<p>Hello user Jack</p>
<div>Hell ow you from us
    <h1>12344 Hello</h1>
    <div>Hellow</div>
</div>
<script src="jquery-1.5.1.min.js" type="text/javascript"></script>
你好 你好,用户杰克

你他妈的离我们远点 12344你好 Hellow
是否永久?您最好只是跨多个文件进行搜索和替换。

是否永久?您最好只是跨多个文件进行搜索和替换。

您可以使用
.replace
功能替换它。只有要替换的单词必须在字符串中

var old_line = "Hello World!";
var new_line = old_line.replace('World', 'Stackoverflow');
您还可以替换多个单词,如:

var old_line = "Hello World! Hello World! Hello World! Hello World!";
var new_line = old_line.replace(/World/gi, 'Stackoverflow');
alert(new_line); //Output: Hello Stackoverflow! Hello Stackoverflow! Hello Stackoverflow! Hello Stackoverflow!

您可以使用
.replace
功能替换它。只有要替换的单词必须在字符串中

var old_line = "Hello World!";
var new_line = old_line.replace('World', 'Stackoverflow');
您还可以替换多个单词,如:

var old_line = "Hello World! Hello World! Hello World! Hello World!";
var new_line = old_line.replace(/World/gi, 'Stackoverflow');
alert(new_line); //Output: Hello Stackoverflow! Hello Stackoverflow! Hello Stackoverflow! Hello Stackoverflow!
我在这里猜测,它是在一个标签,对自己。如果您需要更多(Hello是一个句子的一部分),那么您需要使用类似$('.title')。替换('Hello','Welcome'))

编辑:这是我目前的思路,我有点忙,所以我想我会把它扔了,以防万一你能把最后一块插进去:

function scanReplace($element) {
    $element.children().each(function() {
        var $this = $(this);
        $this.text().replace('Hello','Welcome');
        if ( $this.children().length > 0 ) scanReplace($this);
    });
}

scanReplace($('body'));
我在这里猜测,它是在一个标签,对自己。如果您需要更多(Hello是一个句子的一部分),那么您需要使用类似$('.title')。替换('Hello','Welcome'))

编辑:这是我目前的思路,我有点忙,所以我想我会把它扔了,以防万一你能把最后一块插进去:

function scanReplace($element) {
    $element.children().each(function() {
        var $this = $(this);
        $this.text().replace('Hello','Welcome');
        if ( $this.children().length > 0 ) scanReplace($this);
    });
}

scanReplace($('body'));

可能已经找到了比我们上面的黑客尝试更好的东西

看一看:)

编辑:这是它的工作页面:

很明显,他们和我们走的是同一条路,但在这条路上花了更多的时间,这很好,很完整:D

可能已经找到了比我们上面的黑客尝试更好的东西

看一看:)

编辑:这是它的工作页面:


很明显,他们和我们走的是同一条路,但是花了更多的时间在这上面,这是很好的,完整的:D

好的,这个片段就可以了:

$('body, body *')
    .contents()
    .filter(function() {
        return this.nodeType == Node.TEXT_NODE
            && this.nodeValue.indexOf('Hello') >= 0;
    }).each(function() {
        this.nodeValue = this.nodeValue.replace(/\bHello\b/g, 'Welcome');
    });
我真的不推荐使用它,但知道它在紧要关头是可能的还是很好的


它的工作原理是查找所有包含“Hello”的文本节点,然后使用正则表达式将每个文本节点的“Hello”一词全局替换为“Welcome”。

好的,此代码段将完成以下操作:

$('body, body *')
    .contents()
    .filter(function() {
        return this.nodeType == Node.TEXT_NODE
            && this.nodeValue.indexOf('Hello') >= 0;
    }).each(function() {
        this.nodeValue = this.nodeValue.replace(/\bHello\b/g, 'Welcome');
    });
我真的不推荐使用它,但知道它在紧要关头是可能的还是很好的


它的工作原理是查找所有包含“Hello”的文本节点,然后使用正则表达式将每个文本节点的“Hello”一词全局替换为“Welcome”。

我使用了下面的代码片段

$(this).text($(this).text().replace(old_word, new_word));

由于$(this)是包含要替换的文本的对象,我使用了下面的代码段

$(this).text($(this).text().replace(old_word, new_word));


$(this)是包含要替换的文本的对象

问题已解决。]@雷吉,没有回答我的问题。我想将所有dom对象中的x word替换为已解决的word问题。]@雷吉,没有回答我的问题。我想将所有dom对象中的x单词替换为word我想让它在任何dom对象中将x单词替换为y单词OK,更新了一个想法,它不完整,但我很忙。我会继续努力尽快找到一个实际可行的解决方案,但如果你完全满意的话,我会帮你的stuck@Dorjan,它还不起作用。children()迭代是否认为主体中的所有dom元素都不是直接的子元素?如果这个DOM元素有Hello user,replace()是否用replace Hello with Welcome替换?这是替换失败。如果您查看jquery上的调试信息,您将看到body-children查看所有内容。因此,要使其正常工作,我们只需要修复我相信的replace语句。@Dorjan,我想RegEx可以修复这个问题。我希望它在任何dom对象上用y字替换x字OK,更新了一个想法,它不完整,但我很忙。我会继续努力尽快找到一个实际可行的解决方案,但如果你完全满意的话,我会帮你的stuck@Dorjan,它还不起作用。children()迭代是否认为主体中的所有dom元素都不是直接的子元素?如果这个DOM元素有Hello user,replace()是否用replace Hello with Welcome替换?这是替换失败。如果您查看jquery上的调试信息,您将看到body-children查看所有内容。因此,为了使这项工作正常进行,我们只需要修复我相信的替换语句。@Dorjan,我想RegEx可以修复这个问题。@eugeneK,在你得到这个回复和回复的11分钟内,你可以完成几十个这样的搜索和替换,即使是手动的。@Blindy,我这样做是有原因的。我已经说过,我知道你可以帮助我,而不是告诉我这是怎么回事。无论如何,谢谢使用Dreamweaver或任何像样的免费文本编辑器,您可以搜索和替换多个文件。你应该花一分钟去做。酷,我这么做是有原因的吗?你能帮我用jQuery或其他JS方法吗?@eugeneK,在你花了11分钟得到这个回复和回复的过程中,你可以做很多这样的搜索和替换,甚至是手动的。@Blindy,我这样做是有原因的。我已经说过,我知道你可以帮助我,而不是告诉我这是怎么回事。无论如何,谢谢使用Dreamweaver或任何像样的免费文本编辑器,您可以搜索和替换多个文件。你应该花一分钟去做。酷,我这么做是有原因的吗?你能帮我用jQuery或其他JS方法吗?我想让它在任何dom对象上用y字替换x字我想让它在任何dom对象上用y字替换x字你的解决方案可以工作95%,这很好,但如果某个节点上存在像Hellow这样的值,则会有一个小问题,当它需要保持Hellow时,它会被替换为Welcomew。@Cameron,很好,在任何标记之外都有一个Hello问题,就在body中,我通过修改选择器$('body,body*')解决了这个问题我遇到的另一个小问题是,新的正则表达式不承认非英语值。我想有一些