今天写组件的时候遇到一个问题,就是当我需要对获取到的对象列表进行删减的时候,发现没有合适的方法,比如:

//获取图片列表
var imgs = document.getElementsByTagName("img");

这个列表可以用imgs[0]的数组方法访问元素,但是不能用数组的方法进行编辑.

shift()等数组方法无效

removeChild()无效

delete imgs[0]无效

从网上查了查有个方法可以把这对象列表返回成数组:

aImg = Array.prototype.slice.call(imgs);

但是这方法不支持ie,于是就有了现在的最终方法:

function convertToArray(nodes){
var array = null;
try{
array = Array.prototype.slice.call(nodes,0);
}catch(ex){
array = [];
for(var i = 0,len =nodes.length; i < len; i++){
array[i] = nodes[i];
}
}
return array;
}

w3c通过try的方式来实现,因为IE的节点列表实现为一个com对象!所以。。。。

最新文章

  1. 简单实用的进度条加载组件loader.js
  2. EF6 的性能优化
  3. 简单了解Flux,注意这是一个设计思想,是一个架构!!!!!
  4. python_类
  5. SQL-字符串合并
  6. ViewPager 滑动页(三)
  7. 8 Things Every Person Should Do Before 8 A.M.
  8. 正则匹配:Email 密码强度 身份证 手机号 日期 数字每4个字空一格等
  9. android编程中setLayoutParams方法设置
  10. Android的Touch系统简介(一)
  11. android中获取时间
  12. zabbix_agent-linux下的安装
  13. GreenDao 使用二
  14. Linux常用操作命令(二)
  15. Windows7 64位安装最新版本MySQL服务器
  16. MongoDB加auth权限
  17. 微信小程序wepy开发循环wx:for需要注意
  18. 一款非常不错的重写listctrl类-CListCtrlEx
  19. js中数组常用的api 及其作用
  20. sql server profiler 工具使用 sql 语句性能分析

热门文章

  1. 深入理解React、Redux
  2. 使用JAVA NIO实现的UDP client和server
  3. 一键生成JNI头文件方法二
  4. linux下提示bash:command not found
  5. [iOS]C语言技术视频-17-指针变量高级用法练习二(使用堆内存完成链表结构的存储)
  6. java多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?
  7. Modbus测试工具 :Modbus Poll,Modbus Slave
  8. codeforce 611C New Year and Domino
  9. Java谜题——库谜题
  10. jQuery中的attr()和prop()使用