JavaScript类数组对象参考
JavaScript和DOM中有很多类数组对象,它们有以下特点
1、有length属性
2、可以使用[]通过下标访问
3、部分类数组对象使用[]访问成员时不只可以使用下标,还可以使用id或name
4、既然满足了1、2条件,当然也可以通过for循环来遍历
但正如其名字,它们只是类似数组,而不是数组,并不能使用数组的特有方法,如slice、push、pop等。不过如果确实需要它们像数组一样工作,可以使用Array.prototype.slice(类数组对象, 0)来产生一个数组。产生的数组也就失去了原有类数组对象所特有的方法和[]使用name来访问的特性
下面是一些类数组对象的介绍
一、Arguments
arguments是最常见的类数组对象,在函数内部使用,arguments[0]或functionName.arguments[0]
成员介绍
属性 length //长度 callee //正在执行的函数
二、NodeList
以下代码形式返回类型为NodeList
childNodes
getElementsByName(name)
getElementsByClassName(className)
getElementsByTagName(tagName)
getElementsByTagNameNS(namespaceURI, tagName)
querySelectorAll(selectors)document.all.tags(tagName)
成员介绍
属性 length //长度 方法 item(idx) //访问成员,支持下标、元素id
三、StyleSheetList
以下代码形式返回类型为NodeList
document.styleSheets
成员介绍
属性 length //长度 方法 item(idx) //访问成员,支持下标、元素id、元素name
四、HTMLCollection
以下代码形式返回类型为HTMLCollection
children
document.images //所有img元素
document.links //所有带href属性的a元素和area元素
document.anchors //所有带name属性的a元素
document.forms //所有form元素
document.scripts //所有script元素
document.applets //所有applet元素
document.embeds //所有embed元素
document.plugins //document.与embeds相同
tBodies(table元素)
rows(table、tbody、thead、tfoot元素)
cells(tr元素)
areas(map元素)
成员介绍
属性 length //长度 方法 item(idx) //访问成员,支持下标、元素id、元素name namedItem(name) //访问成员,支持元素id、元素name
五、HTMLFormControlsCollection (继承HTMLCollection)
以下代码形式返回类型为HTMLFormControlsCollection
elements(form元素)
成员介绍
属性 length //长度 方法 item(idx) //访问成员,支持下标、元素id、元素name namedItem(name) //访问成员,支持元素id、元素name
六、HTMLOptionsCollection(继承HTMLCollection)
以下代码形式返回类型为HTMLFormControlsCollection
options(select元素)
成员介绍
属性 length //长度 selectedIndex //当前选中option的下标 方法 item(idx) //访问成员,支持下标、元素id、元素name namedItem(name) //访问成员,支持元素id、元素name add(option, beforeIndex) //添加option remove(index) //删除option
七、HTMLAllCollection
以下代码形式返回类型为HTMLFormControlsCollection
document.all
成员介绍
属性 length //长度 方法 item(idx) //访问成员,支持下标、元素id、元素name namedItem(name) //访问成员,支持元素id、元素name tags(tagName) //返回特定标签名称的NodeLi
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)