我正在使用innerHTML
方法从div
检索innerHTML。整个字符串中可以有<strong>
</strong>
的多个实例
我正在这样做,以替换“ strong”标签
inpStr=this.innerHTML
inpStr=this.innerHTML.replace('<strong>','').replace('</strong>','')
但是,这仅取代了强标签的第一次出现。我对regex不太熟悉,但是我读到有关使用/g
来替换所有出现的内容,但是它也不起作用。
inpStr=this.innerHTML.replace('/<strong>/g','').replace('/<//strong>/g','')
更改为上面的代码根本不起作用,甚至根本无法替换任何内容。另外,我在/<//strong>/g',''
中使用double //来强行转义结束标记,但我不确定。
答案 0 :(得分:3)
\/
不是//
\/?
inpStr=this.innerHTML.replace('/<\/?strong>/g','')
答案 1 :(得分:1)
您可以使用以下功能
const replaceAll = (word, search, replacement) => {
return word.replace(new RegExp(search, 'g'), replacement);
};
答案 2 :(得分:1)
您需要转义/
,否则JavaScript会认为您关闭了正则表达式。用\
完成。 /<\/strong>/g
。
document.getElementById("button").addEventListener("click", () => {
const foo = document.getElementById("foo");
foo.innerHTML = foo
.innerHTML
.replace(/<strong>/g, "")
.replace(/<\/strong>/g, "");
});
<div id="foo">
<strong>foo</strong>
<strong>foo</strong>
<strong>foo</strong>
<strong>foo</strong>
<strong>foo</strong>
<strong>foo</strong>
<strong>foo</strong>
<strong>foo</strong>
<strong>foo</strong>
<strong>foo</strong>
<strong>foo</strong>
<strong>foo</strong>
</div>
<button id="button">Weaken</button>