遍历节点我这样写可以吗

遍历节点我这样写可以吗

var s = '';
function travel(speace,node){
if(node.tagName){                                //遍历节点逻辑 1、
s += speace + node.tagName + '<br / >';
travel.caller();
var len = node.childNodes;
if(node.childNodes.length < len){
return;
}
}
return '没有节点';
}
travel(' ',document);
document.write(s);


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
哈尔的卡尔西法 2018-04-08 10:20:00

space是形参,传递的第一个参数就是,这里主要是节点之间的分隔的字符串,最开始是传递的空的字符串。还有就是这个caller调用的话,没有传递参数吧。不太理解这个,可以参考视频中的,node.childNodes.length是子节点的集合的长度,要是有的话,长度肯定会大于0,大于0的话,就可以执行循环,然后再次调用。

好帮手慕糖 2018-04-07 13:00:56

你好,是指下一节的习题,遍历代码中的全部节点吗?可以参考如下:

http://img1.sycdn.imooc.com//climg/5ac85053000110b505720308.jpg

祝学习愉快~

  • 提问者 江城fen #1
    不是的,我是说这样的思路可不可以
    2018-04-07 14:05:27
  • 提问者 江城fen #2
    我就是理解不了老师代码的space到底是怎么用的,具体流程是怎样的呢
    2018-04-07 14:13:21
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
进击JavaScript核心 2018
  • 参与学习       466    人
  • 提交作业       74    份
  • 解答问题       635    个

JavaScript不仅能实现静态页面到动态特效的转变,还能完成数据的动态交互,但是关于js到底功能有多强大,大家还是有所期待的,本路径将带你深入到js中,一一揭开JavaScript的神秘面纱。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师