当前位置 : 主页 > 网页制作 > JQuery >

使用jquery获取没有注释行的HTML内容

来源:互联网 收集:自由互联 发布时间:2021-06-15
请查看以下代码. HTML: div psdfsdfsfsf/p !--ptesting/p--/div JQUERY $(document).ready(function(){ alert($("div").html());}); OUTPUT psdfsdfsfsf/p!--ptesting/p-- 据我所知,它只会给出如上所述的输出.我的问题是,无论如
请查看以下代码.

HTML:

<div>
  <p>sdfsdfsfsf</p>
  <!--<p>testing</p>-->
</div>

JQUERY

$(document).ready(function(){
   alert($("div").html());
});

OUTPUT

<p>sdfsdfsfsf</p>
<!--<p>testing</p>-->

据我所知,它只会给出如上所述的输出.我的问题是,无论如何我们可以在没有注释行的情况下获得输出吗?

您可以创建一个克隆,然后从中删除所有注释节点(如果您不想修改原始dom)

$(document).ready(function () {
    var $clone = $("div").clone();
    $clone.contents().contents().addBack().filter(function () {
        return this.nodeType == Node.COMMENT_NODE;
    }).remove();
    console.log($clone.html());
});

演示:Fiddle

网友评论