关于javascript中获取body元素的问题?

通过document.getElementByTagName("body")[0]这个方法获取body元素,整个文档中就是有一个body元素,为什么后面还有加一个[0]?... 通过document.getElementByTagName("body")[0]这个方法获取body元素,整个文档中就是有一个body元素,为什么后面还有加一个[0]? 展开
 我来答
百度网友022523ba3
2013-11-28 · TA获得超过678个赞
知道小有建树答主
回答量:416
采纳率:100%
帮助的人:253万
展开全部
因为getElementByTagName方法返回的是一个NodeList对象,他是一个集合像数组一样,而body只有一个,你当然要加个[0]才能获取
追问
如果有多个p标签,这时再用document.getElementByTagName("p"),那么返回的就是一个p对象。p[0]代表的是第一个p标签,但是body虽然也是个对象,但是就一个body,用body[0]有意义吗?
追答
所以说专门提供了一个简便访问body的属性,直接document.body就行了

想不到你竟然采用那个错误的回答,真是意外,看来到百度知道问问题的都是些人云亦云不想动手的人
百度网友c8ccabb
2013-11-28 · TA获得超过1756个赞
知道大有可为答主
回答量:826
采纳率:0%
帮助的人:1171万
展开全部
getElementByTagName是提供的一个通用的根据元素名称来获取元素的方法,因此它不会针对特定标签进行特殊处理。

这个方法定义的返回参数就是一个数组,因此不管你文档中这类标签是一个还是多个,全部统一以数组形式返回。
一般通过这个方法来获取元素对象时,建议先判断getElementByTagName获取到的对象的length是否不为0,否则,容易出现数组越界的错误。

判断:
if (document.getElementByTagName("body") != 0) {
// 此时再获取元素对象

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
圣鸾OJ
推荐于2016-01-01 · TA获得超过1629个赞
知道小有建树答主
回答量:1136
采纳率:96%
帮助的人:114万
展开全部
getElementByTagName是提供的一个通用的根据元素名称来获取元素的方法,因此它不会针对特定标签进行特殊处理。

这个方法定义的返回参数就是一个数组,因此不管你文档中这类标签是一个还是多个,全部统一以数组形式返回。
一般通过这个方法来获取元素对象时,建议先判断getElementByTagName获取到的对象的length是否不为0,否则,容易出现数组越界的错误。

判断:
if (document.getElementByTagName("body") != 0) {
// 此时再获取元素对象

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
紫色浪漫眼
2013-11-28 · TA获得超过247个赞
知道小有建树答主
回答量:577
采纳率:100%
帮助的人:147万
展开全部
如果内部有嵌套iframe框架页,那这样就有两个body标签了,你说是吗?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式