用js实现类数组转换为数组
2015-06-03 19:28
435 查看
我们知道,有的时候,我们在获取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;
}
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;
}
相关文章推荐
- Javascript中的原型继承详解
- 解析json字符串三种方法
- ExtJS4图片验证码的实现
- Extjs中引入JSP页面
- JS-Geolocation API
- JS-资料收录
- JS-通信API
- JS-Web Workers处理线程
- Gson 字符串和json对象的转换
- JS-Web Storage
- 用过滤器来解决JSP中文乱码问题
- JS-JSON数组
- JS-获取navigator信息
- JS-获取url信息
- JS-获取对象位置信息
- JS-精确四则运算
- jsp下显示硬盘下绝对路径下的中文文件名的图片
- jsp借助了ajaxfileupload实现上传文件
- jstl中<c:forEach>的用法
- js两种生成对象模式(公有成员和成员私有)