不使用<svg>,返回:
<p class="comment" title=""><!--" data-comment='{"id":0}'></p>
<p class="comment" title="--><script><!--" data-comment='{"id":1}'></p>
<p class="comment" title="-->prompt(1<!--" data-comment='{"id":2}'></p>
<p class="comment" title="-->)</script>" data-comment='{"id":3}'></p>
拿到网页中看一下;
可以看到,由于<script>是原始文本标签,其内部的<!-- --> 变成了文本以至失效;
但由于<svg>和<html>是不同的命名空间,且<svg>支持XML语法格式,在XML中支持<!-- -->注释。
因此得用<svg>来改变命名空间,从而使得所有注释符可以生效。