3-5 不明白

3-5 不明白

    var s = "";
    function travel(space,node) {
        if(node.tagName){ // 
            s += space + node.tagName+ "<br/>"; //这个的node.tagName 具体是个什么东西呢 ?
        }
        var len = node.childNodes.length;
        for(var i = 0; i<len; i++){
            travel(space +"|-",node.childNodes[i]); //这个回调函数没整明白,一脸懵逼。。。还有第一个传参还可以加上字符串?
        }
    }
    travel("",document);  
document.write(s);

这个逻辑看起来能懂 ,但是自己写的时候一脸懵逼 用tagName? 还有这个回调函数,怎么说呢,就是不太理解为啥这么操作。 还有其他的方法吗

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

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

2回答
好帮手慕糖 2018-02-09 09:35:54

你好,document是文档对象。是HTML文档的根节点与所有其他节点(元素节点,文本节点,属性节点, 注释节点)。

祝学习愉快~

好帮手慕糖 2017-09-21 10:05:46

你好,(1)tagName 属性返回元素的标签名;

(2)childNodes属性返回节点的子节点集合

(3)这里使用的是递归函数哟,可简单理解为,若你获得的这个标签还有子元素,则再次调用函数把这个元素的子元素输出,建议:可以看下输出的内容,理解下代码,然后结合代码在看下课程哟。

祝学习愉快~

  • 我也是一脸懵逼的,最后传入 travel("",document);是什么意思,不动
    2018-02-08 16:56:36
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星

相似问题

登录后可查看更多问答,登录/注册

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

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

了解课程
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

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