我们知道,有的时候,我们在获取DOM元素节点的时候,获取的是一个集合,这个集合和数组非常相似,但是又不是数组,而是类数组,比如数组的一些属性:length,这个类数组可以使用,举个例子,一个ul元素节点的子节点li:
var oUl= document.getElementsByTagName("ul")[0];
var aLi = oUl.childNodes;
此时,aLi就是一个类数组,你可以通过aLi.length来查看它的长度,就像数组一样,你也可以用类似数组的方括号[]下标访问第几个元素,例如第二个元素:aLi[1];但是却用不了数组的那些函数,例如substring(),slice()等等。此时我们可以将该类数组通过下面的代码转换为数组,此时你就可以使用那些方法了。
function convertToArray(){
var arr = null;
try{
arr = Array.prototype.slice.call(aLi,0);
}catch(e){
` arr = new Array();
for(var i=0;i<aLi.length;i++){
arr[i].push(aLi[i]);
}
}
return arr;
}