如何使用jquery/javascript更改文本
我正在使用下面的代码更改页面上的一些文本。它工作正常,但只改变单个单词。当我想更改整个句子时,代码会给出一个错误。你能帮我一下吗?我对javascript/jquery不是很在行。谢谢如何使用jquery/javascript更改文本,javascript,jquery,Javascript,Jquery,我正在使用下面的代码更改页面上的一些文本。它工作正常,但只改变单个单词。当我想更改整个句子时,代码会给出一个错误。你能帮我一下吗?我对javascript/jquery不是很在行。谢谢 $(document).ready(function() { function recursiveReplace(node) { if (node.nodeType == 3) { // text node node.nodeValue = node.nodeVa
$(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天、无限次。。。我无法删除粗体标记。如果不删除粗体标记,是否无法解决此问题?