是否可以使用jquery从dom中删除html注释

aka*_*no1 17 jquery

只是想知道是否有办法使用jquery删除html注释.

<!-- <div id="main">Some text </div> -->
Run Code Online (Sandbox Code Playgroud)

谢谢

use*_*716 39

试试这个:

$('*').contents().each(function() {
    if(this.nodeType === Node.COMMENT_NODE) {
        $(this).remove();
    }
});
Run Code Online (Sandbox Code Playgroud)

编辑:这将删除DOM中的元素.浏览器通常存储可通过菜单项访问的原始页面源的副本.这不会更新.

如果要隐藏注释,可以使用javascript将整个HTML标记(带注释)插入到DOM中.当然,可以查看javascript,但这是从人们看到的第一个地方开始的一步.

  • 建议:`this.nodeType == Node.COMMENT_NODE`不是更具描述性/可读性的代码吗? (4认同)
  • 那样有用吗?我尝试的相同,但无法在FF 3.6上得到任何结果...... (2认同)

Qua*_*kle -8

我几乎可以肯定注释实际上并不是 DOM 的一部分。它们是原始 HTML 代码的一部分,但是当浏览器将其转换为 DOM 时,它们会被剥离,因为它们没有用于渲染的目的。