用document.getElementById获取的对象为元素本身,用.length查看对象长度为undefined,而用 getElementsByTagName获取的是一个collection,用.length获取长度为具体数字。imgList.length的长度为什么不是1?
var imgList = document.getElementById("imgList");
var imgArr = document.getElementsByTagName("img");
console.log(imgList);
console.log(imgArr);
console.log(imgList.length);
console.log(imgArr.lengyh);
结果为:
getElementById 返回的是一个对象,一个对象,这个对象本身就没有 length 属性
而 getElementsByTagName 返回的是一个集合,一个集合本身有长度属性。
有什么问题吗?人家获取元素本身没毛病啊,本来这个元素就没有 length 属性。
不是你把它叫做 List 就自动给你带长度的好不啦。