请查看以下代码。
HTML:
<div>
<p>sdfsdfsfsf</p>
<!--<p>testing</p>-->
</div>
JQUERY
$(document).ready(function(){
alert($("div").html());
});
输出
<p>sdfsdfsfsf</p>
<!--<p>testing</p>-->
据我所知,它只会给出如上所述的输出。我的问题是,无论如何我们可以在没有注释行的情况下获得输出吗?
答案 0 :(得分:11)
您可以创建一个克隆,然后从中删除所有注释节点(如果您不想修改原始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
答案 1 :(得分:0)
尝试像这样的第一个选择器
<script>
$(document).ready(function(){
alert($("div > p:first").html());
});
</script>
答案 2 :(得分:0)
use .text() method of jQuery
<div id="anything">
<p>Any text here...</p>
<!--<p>testing</p>-->
</div>
$(document).ready(function () {
var t=$("#anything").text();
console.log(t);
});