JavaScript,替换 HTML 标签中多余的标签



假设你得到了一个混乱的字符串,里面有这个:

<b style="font-weight:normal;" id="docs-internal-guid-7304b159-0100-cc51-0691-8cd4685a5970">
 test
</b>

在 Javascript 中删除 html 标签中多余的样式、id 等最简单的方法是什么?

因此,您将只剩下:

<b>test</b>

使用正则表达式

/s[^>]*>/g

这是做什么的,

避免第一个<b开始标签和标签名称并匹配,直到它接近>并将其替换为 >

g全局标志是可选的。如果您有内部元素,则会使用它。

检查第三个代码段。

就是这样。将删除所有属性。

但请记住,解析 HTML 并不好。

var a='<b style="font-weight:normal;" id="docs-internal-guid-7304b159-0100-cc51-0691-8cd4685a5970">test</b>';
a=a.replace(/s[^>]*>/g,'>');
console.log(a);

如果你想从HTML中获取它,那么试试

a=document.getElementsByTagName('div')[0].innerHTML;
a=a.replace(/s[^>]*>/g,'>');
console.log(a);
document.getElementsByTagName('div')[0].innerHTML=a;
<div><b style="font-weight:normal;" id="docs-internal-guid-7304b159-0100-cc51-0691-8cd4685a5970">test</b></div>

a=document.getElementsByTagName('div')[0].innerHTML;
a=a.replace(/s[^>]*>/g,'>');
console.log(a);
document.getElementsByTagName('div')[0].innerHTML=a;
<div><b style="font-weight:normal;" id="docs-internal-guid-7304b159-0100-cc51-0691-8cd4685a5970"><i class="iii">test</i></b></div>

最新更新