首页 > 解决方案 > 如何使用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 标签格式?

标签: javascripthtmlnode.js

解决方案


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>`;

推荐阅读