如何使用jquery/javascript更改文本

如何使用jquery/javascript更改文本,javascript,jquery,Javascript,Jquery,我正在使用下面的代码更改页面上的一些文本。它工作正常,但只改变单个单词。当我想更改整个句子时,代码会给出一个错误。你能帮我一下吗?我对javascript/jquery不是很在行。谢谢 $(document).ready(function() { function recursiveReplace(node) { if (node.nodeType == 3) { // text node node.nodeValue = node.nodeVa

我正在使用下面的代码更改页面上的一些文本。它工作正常,但只改变单个单词。当我想更改整个句子时,代码会给出一个错误。你能帮我一下吗?我对javascript/jquery不是很在行。谢谢

$(document).ready(function() { 
    function recursiveReplace(node) {
        if (node.nodeType == 3) { // text node
            node.nodeValue = node.nodeValue.replace("1d", "1 day");
            node.nodeValue = node.nodeValue.replace("2d", "2 days");
            node.nodeValue = node.nodeValue.replace("will expire in Unlimited", "will not expire");
            return;
        }

        if (node.nodeType == 1) { // element
            $(node).contents().each(function () {
                recursiveReplace(this);
            });
        }
    }

    recursiveReplace(document.body);
});

您遇到的错误不是由单词/句子造成的。这是因为您的HTML在单词Unlimited周围有粗体标记。因此,它找不到匹配的字符串“将在无限期内过期”。如果HTML的最后一行如下所示:

<span>1d 2d will expire in Unlimited</span>

1d
二维
将无限期到期


1d 2d将无限期过期
什么错误?你能提供一把小提琴吗?你举的例子很好用。你可以看到它在这里工作:谢谢你的回复。请参阅:您可能应该在问题中发布HTML标记,仅供将来参考。问题是
无限
,如果您删除粗体标记,它会起作用。如果不删除粗体标记,则无法解决此问题。您好!文本不是静态的,重复100次,例如1天、2天、3天、无限次。。。我无法删除粗体标记。如果不删除粗体标记,是否无法解决此问题?