【问题标题】:usual text replace dont work in javascript / js通常的文本替换在 javascript / js 中不起作用
【发布时间】:2020-06-20 08:45:16
【问题描述】:

我有这样的:

<body>Neque porro quisquam est qui dolorem ipsum quia dolor sit amet <br> adipisci velit</body>

我知道它与通常的 html 标准不兼容。
我已经尝试了所有的文本替换标准,包括使用 jquery,但没有一个是有效的。
如果上面没有 br 标签,我可以替换文本 但如果有 br 标签,我将无法替换任何文本。
请不要强迫我使用其他标签,如 div 或 span 或任何其他标签。
“案例”无法更改,我想用 javascript/js 代码替换文本
有人有解决方案吗?

【问题讨论】:

  • 我不明白上下文。 document.body.innerText = 'New text'(香草)或$('body').text('New text')(jQuery)应该可以正常工作。
  • 很抱歉,我只想替换一个单词而不是更改正文标签中的所有单词
  • 然后你必须遍历正文的所有子元素并根据需要替换它们的内容。
  • 参见例如stackoverflow.com/questions/9452340/… - 但不是将字母包裹在跨度标签中,而是进行文本替换。
  • 但是大约 1 兆字节的文本大小和相当多的 br 标签和大约 20% 的所有文本都必须更改/替换......这可能吗?你能预测在浏览器中完成的时间吗?

标签: javascript html text replace


【解决方案1】:

javascript document.body undefined if not preceded by a document.write 可能重复

我还没有真正看到任何示例代码,所以我无法真正解释你做错了什么。但是 document.body 应该可以正常工作吗?

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    Neque porro quisquam est qui dolorem ipsum quia dolor sit amet <br> adipisci velit
<script>
    window.onload = function(){ document.body.innerText = 'testje'; };
</script>
</body>
</html>

【讨论】:

  • 对不起,我只想替换一个单词而不是更改正文标签中的所有单词......正如我所说,如果没有 br 标签,但如果有 br 标签,我可以更改一个单词,我不能……
  • 正如cherryDT所说,您必须遍历正文的所有子元素并根据需要替换它们的内容。
【解决方案2】:

我要在这里给你一些公平的警告。

  • 您没有发布代码,因此有很多反对票(我没有)。
  • 您没有选择页面上的任何内容,甚至没有通过 JavaScript 选择 id
  • 您将不得不努力改进如何您的目标代码,使其更加具体,以使其有用。
  • 下面的代码会查找“22”的所有实例并将它们替换为“33”。

。 Stackoverflow 错误修复。

<html>
<head>
<script type="application/javascript">
//<![CDATA[
function replace_all(s,f,r) {return s.split(f).join(r);}
window.onload = function(event)
{
 var b = document.getElementsByTagName('body')[0];
 b.textContent = replace_all(b.textContent,'22','33');
}
//]]>
</script>
</head>

<body>

122122111

</body>
</html>

【讨论】:

  • 请记住,您将必须完善对 JavaScript 事件、调用函数以及如何使用 JavaScript 定位/选择 DOM(或页面)的部分的理解。在提问之前阅读和研究,这将有助于您下次提问时的体验更加顺畅。祝你好运!
猜你喜欢
  • 1970-01-01
  • 2013-02-01
  • 2022-06-16
  • 1970-01-01
  • 2014-04-17
  • 2019-10-10
  • 2010-12-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多