关于javascript中获取body元素的问题?
通过document.getElementByTagName("body")[0]这个方法获取body元素,整个文档中就是有一个body元素,为什么后面还有加一个[0]?...
通过document.getElementByTagName("body")[0]这个方法获取body元素,整个文档中就是有一个body元素,为什么后面还有加一个[0]?
展开
4个回答
展开全部
因为getElementByTagName方法返回的是一个NodeList对象,他是一个集合像数组一样,而body只有一个,你当然要加个[0]才能获取
追问
如果有多个p标签,这时再用document.getElementByTagName("p"),那么返回的就是一个p对象。p[0]代表的是第一个p标签,但是body虽然也是个对象,但是就一个body,用body[0]有意义吗?
追答
所以说专门提供了一个简便访问body的属性,直接document.body就行了
想不到你竟然采用那个错误的回答,真是意外,看来到百度知道问问题的都是些人云亦云不想动手的人
展开全部
getElementByTagName是提供的一个通用的根据元素名称来获取元素的方法,因此它不会针对特定标签进行特殊处理。
这个方法定义的返回参数就是一个数组,因此不管你文档中这类标签是一个还是多个,全部统一以数组形式返回。
一般通过这个方法来获取元素对象时,建议先判断getElementByTagName获取到的对象的length是否不为0,否则,容易出现数组越界的错误。
判断:
if (document.getElementByTagName("body") != 0) {
// 此时再获取元素对象
}
这个方法定义的返回参数就是一个数组,因此不管你文档中这类标签是一个还是多个,全部统一以数组形式返回。
一般通过这个方法来获取元素对象时,建议先判断getElementByTagName获取到的对象的length是否不为0,否则,容易出现数组越界的错误。
判断:
if (document.getElementByTagName("body") != 0) {
// 此时再获取元素对象
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
getElementByTagName是提供的一个通用的根据元素名称来获取元素的方法,因此它不会针对特定标签进行特殊处理。
这个方法定义的返回参数就是一个数组,因此不管你文档中这类标签是一个还是多个,全部统一以数组形式返回。
一般通过这个方法来获取元素对象时,建议先判断getElementByTagName获取到的对象的length是否不为0,否则,容易出现数组越界的错误。
判断:
if (document.getElementByTagName("body") != 0) {
// 此时再获取元素对象
}
这个方法定义的返回参数就是一个数组,因此不管你文档中这类标签是一个还是多个,全部统一以数组形式返回。
一般通过这个方法来获取元素对象时,建议先判断getElementByTagName获取到的对象的length是否不为0,否则,容易出现数组越界的错误。
判断:
if (document.getElementByTagName("body") != 0) {
// 此时再获取元素对象
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果内部有嵌套iframe框架页,那这样就有两个body标签了,你说是吗?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询