在整个body中找到所有的注释(通过JS来操作节点寻找)

天边星辰 天边星辰 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
新人第一次发问题帖,请前辈们多多关照
我想通过JS操作DOM节点来找到整个body里面的所有注释
类似下面这种操作:

var bodyElement = document.getElementsByTagName("body")[0];
for (var i=0; i<bodyElement.childNodes.length; i++) {
if (bodyElement.childNodes[i].nodeType == 8) {
alert(bodyElement.childNodes[i].nodeValue);
}
}

但是这个只能找到body的子节点是注释的情况,
当然,就这样一直循环下去也可以找到body子节点的子节点是注释的情况,但是如果在很深的DOM节点里,用这种循环的方式就很不好书写。
所以我想到用递归来写
但是,关键来了!
我才初学这个,递归的思想我也只懂一点,所以完全写不出来啊,所以来问问,希望有朋友可以解答下,感激不尽。
还有,如果有什么更简单的方法可以提出来,可能我没有学到,但是我更想看看这个递归的写法
下面是html文档。


<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<div>
<div>
<div>
<!-- note1 -->
</div>
</div>
<div>
<div></div>
</div>
</div>
<div>
<div>
<p>
<!-- note2 -->
<p>
</div>
<div>
<div></div>
</div>
</div>
<!-- note3 -->
<div>
<div>
<div></div>
</div>
<!-- note4 -->
<div>
<div></div>
</div>
</div>
</body>
</html>
...全文

相关推荐

评论 1
收藏 已收藏
分享
返回顶部
天边星辰
JavaScript 87,983 成员 224,681 内容