document.body和document.getElementByTagName("body")区别是什么?

来源:9-16 创建元素节点createElement

Collus

2016-06-05 17:17

JavaScript进阶篇9-16这一节的练习中,要在body中调用函数创建一个链接。在使用appendChild()方法往body节点下面添加子节点时,用getElementByTagName("body")获取父节点body,然后再调用appendChild()时,会报错:undefined function;

    var main = document.getElementsByTagName("body");
    var a = document.createElement("a");
    a.href = url;
    a.innerHTML = text;
    a.style.color = "red";
    main.appendChild(a);

使用如下代码就没问题:

    var main = document.body;
    var a = document.createElement("a");
    a.href = url;
    a.innerHTML = text;
    a.style.color = "red";
    main.appendChild(a);

请问,为什么不能用document.getElementByTagName("body")获取父节点呢?

写回答 关注

2回答

  • 糕冷丶薯片
    2016-06-06 18:42:12
    已采纳

    document.getElementsByTagName("body")[0]少写了s,虽然只有一个。但是也要写[0]

    Collus

    确实是,使用数组元素应该带下标,多谢啦!

    2016-06-08 07:38:26

    共 1 条回复 >

  • 当爱随风
    2016-06-05 18:09:06

    我觉得是因为body是比较大的元素节点,所以不能用 document.getElementsByTagName 去获取他,规定只能用document.body获取,

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468195 学习 · 21891 问题

查看课程

相似问题