假设我有一些HTML代码,比如说。
"Hello, my <strong>name</strong> is Nanoo."
我怎样才能替换掉 <strong>
用一个字符串标记?
比如说
"Hello, my **name** is Nanoo."
(替换了 <strong>
标记 **
)
我也许可以用 replace()
函数,但是我想有效地完成这个任务。谢谢你的帮助。
使用 parentNode.replaceChild(newChild, oldChild)。.
// on DOMContentLoaded
document.querySelectorAll('strong').forEach(function(ele) { // for each strong tag
var newTag = document.createTextNode('**' + ele.textContent + '**');
ele.parentNode.replaceChild(newTag, ele);
})
<p>Hello, my <strong>name</strong> is Nanoo.</p>
使用正则表达式。((.+?)
是用来捕捉强标签的内容,所以我们可以使用 $1
(在替换中替换被捕获的组)。
>>> s = "Hello, my <strong>name</strong> is Nanoo.";
>>> s.replace(/<strong>(.+?)<\/strong>/g, '**$1**');
"Hello, my **name** is Nanoo."