js中将HTMLCollection/NodeList/伪数组转换成数组的代码

这里把符合以下条件的对象称为伪数组

1,具有length属性

2,按索引方式存储数据

3,不具有数组的push,pop等方法

1,function内的arguments 。

2,通过document.forms,Form.elements,Select.options,document.getElementsByName() ,document.getElementsByTagName() ,childNodes/children 等方式获取的集合(HTMLCollection,NodeList)等。

3,特殊写法的对象 ,如

复制代码 代码如下:

var obj={};

obj[0] = "一";

obj[1] = "二";

obj[2] = "三";

obj.length = 3;

它们不具有数组的一些方法如push, pop, shift, join等。有时候需要将这些伪数组转成真正的数组,这样可以使用push, pop等方法。以下是工具函数makeArray

复制代码 代码如下:

var makeArray = function(obj){

return Array.prototype.slice.call(obj,0);

}

try{

Array.prototype.slice.call(document.documentElement.childNodes, 0)[0].nodeType;

}catch(e){

makeArray = function(obj){

var res = [];

for(var i=0,len=obj.length; i

res.push(obj[i]);

}

return res;

}

}

以下分别测试以上三种伪数组

复制代码 代码如下:

//定义一个函数fun,内部使用makeArray将其arguments转换成数组

function fun(){

var ary = makeArray(arguments);

alert(ary.constructor );

}

//调用

fun(3,5);

//假设页面上有多个段落元素p

var els = document.getElementsByTagName("p");

var ary1 = makeArray(els);

alert(ary1.constructor);

//特殊的js对象(如jquery对象)

var obj={};

obj[0] = "一";

obj[1] = "二";

obj[2] = "三";

obj.length = 3;

var ary2 = makeArray(obj);

alert(ary2.constructor);相关阅读:

CSS教程:CSS到底是干什么用的?

javascript用正则表达式把1234567890替换为abcdefghij

用正则和xmlHttp实现的asp小偷程序

一个简答的Access下的分页asp.net代码

Oracle中如何根据时间来执行JOB

用批处理实现的删除特定时间以前的文件

一个挺有意思的Javascript小问题说明

用COM自动服务扩展SQLServer功能

PHPLog php 程序调试追踪工具

用在JavaScript的RequestHelper

CSS教程:定位属性Position

如何删除多级目录

CSS Sprite操作:用CSS处理圆角

Apache服务器之JSP概述篇

怎么根据css类将html转换成数组,JavaScript_js中将HTMLCollection/NodeList/伪数组转换成数组的代码,这里把符合以下条件的对象称 - phpStudy...相关推荐

  1. CSS类命名的语义化VS结构化方式

    一般而言,CSS类名的语义化声明方式应当考虑你的页面中某个相对元素的"用意",独立于它的"定位"或确切的特性(结构化方式).像left-bar, red-tex ...

  2. 通过css类/选择器选取元素 文档结构和遍历 元素树的文档

    通过css类选取元素 html所有的元素拥有class属性,该属性会对元素进行分组,标识为某一组. js中使用className属性来保存HTML的class的属性值 var NodeList = d ...

  3. SAP UI5 应用开发教程之三十六 - 使用 Chrome 开发者工具 Elements 标签动态修改 CSS 类试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP U ...

  4. SAP UI5 初学者教程之十三 - 如何添加自定义 CSS 类试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 初学者教程之一:Hello World SAP UI5 初学者教程之二:SAP UI5 ...

  5. SAP UI5 初学者教程之十二 - 使用 CSS 类对 UI 进行进一步美化试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 初学者教程之一:Hello World SAP UI5 初学者教程之二:SAP UI5 ...

  6. CSS 类选择器详解——CSS 多类选择器

    类选择器允许以一种独立于文档元素的方式来指定样式. CSS 类选择器 类选择器允许以一种独立于文档元素的方式来指定样式. 该选择器可以单独使用,也可以与其他元素结合使用. 提示:只有适当地标记文档后, ...

  7. 日期转换 例如 二零零六年十二月二十一日 转换成 2006年12月21日

    日期转换  例如 二零零六年十二月二十一日 转换成 2006年12月21日 class Program{static void Main(string[] args){//编写一个函数进行日期转换,将 ...

  8. css–sprit_高级CSS –类已用完–通过使用结构化格式标签避免类

    css–sprit Nothing makes me cringe more than when I see other programmers use a class declaration for ...

  9. 第88天:HTML5中使用classList操作css类

    在HTML5 API里,页面DOM里的每个节点上都有一个classList对象,程序员可以使用里面的方法新增.删除.修改节点上的CSS类.使用classList,程序员还可以用它来判断某个节点是否被赋 ...

最新文章

  1. MQTT topic匹配规则
  2. Java字符编码的转化问题
  3. 【报错笔记】eclipse启动出现错误
  4. java编写安卓程序代码,安卓:从Android的Java源代码code创建UML
  5. java学习(128):map类
  6. SQL2005 学记笔记(9)
  7. php实现单例模式类singletonv,php设计模式 singleton (单例模式)
  8. MyBatis多个接口参数报错:Available parameters are [0, 1, param1, param2], 及解决方法
  9. mysql oltp_oltp数据库mysql
  10. DPDK框架原理简介 (0002转)
  11. 【Pix4d精品教程】Pix4d模型成果导出OSGB并加载OSGB到EPS进行三维测图完美案例教程
  12. linux阿帕奇服务器配置方案,阿帕奇服务器_服务器配置方案_linux配置apache服务器...
  13. R 回归分析 非线性回归模型
  14. doors需求管理导入HTML,如何利用doors进行需求管理
  15. 交叉编译openssl(arm和x86_64)
  16. gromacs ngmx_gromacs初学入门
  17. IPD中的DCP评审
  18. 搭建供需对接平台 助力汽车产业发展 2021大连金普新区汽车产业链供需对接大会开幕
  19. 如何去掉图片上的水印而不损图片
  20. 安卓海豚wii模拟器_海豚wii模拟器安卓版-海豚模拟器模屏官网中文版下载v5.0.11105最新版-模拟MAX...

热门文章

  1. Linux 虚拟机与主机之间的文件传输(三)
  2. SCAU2020春季个人排位赛div2 #3
  3. SSM21:Mapper代理开发
  4. python12306抢学生票票下载,基于Python3.6+splinter实现自动抢火车票
  5. 单片机——蝙蝠超声思想避物小车
  6. web中网络编程详解
  7. 小度智能音箱拆解评测
  8. [18调剂]中国农业大学信电学院2018年硕士研究生招生复试时间及接收调剂生的通知...
  9. debain修改服务器网卡名,Debian 系统修改网卡ens33名称为 eth0
  10. pytorch环境配置