请查看以下代码. 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