javascript - 如何使用javascript查找和替换几个标签中的单词?
问题描述
我想使用 javascript 来查找和替换已拆分为几个标签的单词。
例如,html代码:
<html>
<body>
<div id="page-container">
This is an apple.
<div>
<span>a</span><span>p</span><span>ple</span>.
</div>
</div>
</body>
</html>
它在网络浏览器中如下所示:
This is an apple.
apple.
我使用这个 javascript 来查找和替换单词“apple”:
var a = document.getElementById('page-container').innerHTML;
a=a.replace(/apple/g,'pear');
document.getElementById('page-container').innerText=a;
但是在网络浏览器中的结果很糟糕,所有的标签都不能工作:
This is an pear.
<div>
<span>a</span><span>p</span><span>ple</span>.
</div>
似乎替换功能适用于第一行,但无法识别标签中的单词 split。这是一个例子,整个内容可能会更加复杂,有更多的标签,比如 , ,不仅......有没有办法只替换文本但保留原始的 html 标签格式?
解决方案
var a = document.getElementById('page-container').textContent;
a = a.replace(/apple/g, 'pear');
var a=a.split('.');
document.getElementById('page-container').innerHTML = `${a[0]}.<br/><span> ${a[1]}
<span>`;
推荐阅读
- java - 在 Raspberry Pi 上升级 Java 并设置为默认值
- python - Python 中的 SAP GUI 脚本,sapguiauto.GetScriptingEngine 不返回任何对象
- python - 有没有办法随机化我的字符串中的字母?
- javascript - 通过 onclick 按钮更改数据库数据
- python - Python FastAPI:如何创建通用异常处理程序以阻止应用程序因未处理的异常而崩溃?
- macos - DB21005E 访问文件时发生错误
- php - 从 MySQL 中的同一个表中更新和选择
- prolog - 如何判断一个数是否是2的幂
- boto3 - 带有 boto3/aws cli 的 Lambda 服务配额返回没有结果
- react-native - 使用 React Native 进行 Google MLKit 姿势检测