如何用JavaScript中的空字符串替换HTML注释

时间:2019-04-13 06:47:45

标签: javascript html replace

我正在尝试从Java语言的HTML中删除注释,但无法正常工作。除了注释,我只需要纯HTML

let sourceHTML = document.querySelector(".mySelector").innerHTML;
sourceHTML = sourceHTML.replace(/<--!(?:.|\n)*?-->/gm, '');
console.log(sourceHTML);
<div class="mySelector">
    <!--Main content -->
    <p>HTML content...</p>
</div>

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:2)

您的正则表达式中!字符的位置错误

/<--!(?:.|\n)*?-->/
    |________________  This should be before `--` i.e:-  !--

let sourceHTML = document.querySelector(".mySelector").innerHTML;
sourceHTML = sourceHTML.replace(/<!--(?:.|\n)*?-->/gm, '');
console.log(sourceHTML);
<div class="mySelector">
    <!--Main content -->
    <p>HTML content...</p>
</div>