javascript,替换html标签内的额外标签

时间:2017-03-24 15:52:07

标签: javascript jquery

假设你有一个杂乱的字符串:

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

在Javascript中删除html标记内的额外样式,ID等的最简单方法是什么?

所以你会留下:

<b>test</b>

1 个答案:

答案 0 :(得分:0)

使用正则表达式

/\s[^>]*>/g
  

这是做什么的,

避免使用第一个<b开头标记和代码名称并匹配,直到它关闭>并将其替换为>

g全局标志是可选的。如果你有内部元素,它将被使用。

检查第三个代码段。

多数民众赞成。删除所有属性。

  

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

&#13;
&#13;
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);
&#13;
&#13;
&#13;

如果您想从HTML获取,请尝试

&#13;
&#13;
a=document.getElementsByTagName('div')[0].innerHTML;

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

&#13;
&#13;
a=document.getElementsByTagName('div')[0].innerHTML;

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