这篇是纯属给朋友帮忙了,他要获得一个 TABLE 内不同 TD 下name值相同的span,问我getElementsByName咋取不到,按我的经验getElementsByName只能取同名的表单元素,所以写了个小递归逐级向下寻找,找到的话就push进数组,本例并没有经过严格测试,有类似需要的朋友请自行修改。如果使用框架的话有另外的写法,这里没有使用框架,就是一个小函数。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type"/>
</HEAD>
<BODY>
<TABLE id='mytable' border='1' width='200'>
<TR><TD><span name='sortspan'>11<span name='sortspan'>66</span></span></TD></TR>
<TR><TD><span name='sortspan'>22</span></TD></TR>
<TR><TD><span name='sortspan'>33</span></TD></TR>
<TR><TD><span name='sortspan'>44</span></TD></TR>
<TR><TD><span name='sortspan'>55</span></TD></TR>
</TABLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
var mytable = document.getElementById('mytable');
var subArr = [];
/**
* 获得指定对象下的指定名称对象集合,递归
*
* @param arr 最终要返回的数组对象
* @param container 容器对象
* @param subName 子对象名称
*/
function getObjs(arr, container, subName){
// 如果当前对象没有子对象则返回空
if(!container.childNodes) return null;
// 取得当前对象的子对象
var subs = container.childNodes;
// 循环子对象集合
for(var i=0,j=subs.length;i<j;i++){
if(!subs[i] || subs[i].nodeType!=1){
continue;
}
if(subs[i].name==subName){
arr.push(subs[i])
}else if(subs[i].childNodes || subs[i].childNodes.length!=0){
}
getObjs(arr, subs[i], subName);
}
}
// 在这里得到对象集合,存在subArr中
getObjs(subArr, mytable, "sortspan");
alert("最终得到对象长度:"+subArr.length)
var msg = [];
// 这里alert所获得的所有对象的innerHTML
for(var i=0,j=subArr.length;i<j;i++){
msg.push(subArr[i].innerHTML)
}
alert("最终获得的所有对象的innerHTML:\n\n"+msg.join("\n"))
//-->
</SCRIPT>
</BODY>
</HTML>
分享到:
相关推荐
这个压缩包文件"遍历指定对象所有的属性名称和值.rar"很可能包含一个示例或教程,教你如何在JavaScript或其他编程语言中实现这一功能。下面,我们将详细讨论如何在JavaScript中遍历对象的属性以及相关知识点。 在...
本文将详细介绍如何将JSON字符串直接转换为Java对象,特别是涉及到多层List集合的情况。在本例中,我们将使用`net.sf.json.JSONObject`类来实现这一功能。 首先,确保你的项目中已经引入了必要的库。在使用`...
在给定的文件“document对象内容集合.txt”中,我们深入探讨了与DOM相关的多个知识点,包括其属性、方法以及如何通过JavaScript来操作DOM元素。 ### DOM基本概念 DOM是一种标准,用于表示和交互HTML或XML文档中的...
构造函数是用于初始化新创建的对象的特殊函数,其名称与类名相同且无返回类型。析构函数则是对象生命周期结束时自动调用的函数,用于清理对象可能占用的资源。 拷贝构造函数是另一个重要的构造函数,用于创建一个...
### Document对象内容集合 在网页开发中,Document对象是浏览器为用户提供的重要接口之一,它代表了整个HTML或XML文档,并提供了访问和操作文档结构的方法。本文将深入解析Document对象的相关属性与方法,帮助读者...
* Execute:执行 Command 对象指定的 SQL 语句或存储过程。 * Cancel:取消当前的 Command 对象执行。 Recordset 对象 Recordset 对象用于存储和操作查询结果集。Recordset 对象的主要属性包括: * RecordCount:...
- **CommandText**: 设置或返回 Command 对象执行的 SQL 语句或存储过程名称。 - **CommandType**: 设置或返回 Command 对象执行命令的类型。 - **Parameters**: 返回 Parameters 集合。 ##### 3. Command 对象的...
开发人员可以使用 Cube 对象来创建度量值组,指定度量值组的名称、度量值组的类型等信息。 ### 2.5.3.1 新建度量值组 开发人员可以使用 Cube 对象来新建度量值组。新建度量值组需要指定度量值组的名称、度量值组的...
* getElementsByName:获取具有指定名称的所有元素对象的集合。 * getElementsByTagName:获取具有指定标签名称的所有元素对象的集合。 * open:打开输出流,以便写入数据。 * queryCommandEnabled:检查指定命令...
在JavaScript中,通过getElementsByName方法可以访问到具有特定name属性的所有元素,返回的结果是一个集合对象。这个集合对象非常像数组,可以使用数组的方法进行操作。需要注意的是,返回的是一个节点集合,表示...
Window对象的集合`frames`非常有用,它包含了窗口内所有子窗口或框架的引用,允许开发者遍历和操作这些子窗口。这对于多窗口或框架的应用程序来说是必不可少的。 在方法方面,Window对象提供了大量实用的功能,如`...
Excel Application 对象是 Excel 对象模型中最高层级的对象,代表 Excel 应用程序自身,也包含组成工作簿的许多部分,包括工作簿、工作表、单元格集合以及它们包含的数据。熟悉 Application 对象能够让您扩展和调整 ...
- `Parameters`集合包含Command对象的所有Parameter对象。 - `Properties`集合包含特定对象实例的所有Property对象。 以上就是ADO对象模型的基本概览,通过这些对象,开发者可以实现与数据源的交互,包括查询、...
* Drives:返回本地计算机上所有驱动器对象的集合。 * FileSystem:返回指定驱动器所使用的文件系统类型。 FSO 组件的方法: * BuildPath:将一个名称追加到已有的路径后。 * CopyFile:从一个位置向另一个位置...
标题“pb 获取子文件夹名称”指的是在PowerBuilder(PB)环境中,如何获取一个特定文件夹下的所有子文件夹名称。PowerBuilder是一款历史悠久的可视化编程工具,常用于开发企业级应用,尤其在数据库应用程序中非常...
在Java编程语言中,集合框架是处理对象组的重要工具,ArrayList是其中的一种。ArrayList是一个基于数组实现的动态大小的列表,允许我们在其中存储和管理各种类型的对象,包括字符串。在这个场景中,我们将深入理解...
### JavaScript对象属性详解 在深入探讨JavaScript对象属性之前,我们首先需要理解JavaScript是一种广泛应用于网页开发的编程语言,它能够使网页变得动态、交互性更强。JavaScript中的对象是其核心特性之一,几乎...
* `getElementByName()`:返回带有指定名称的对象的集合(相同 name 属性)。 * `getElementByTagName()`:返回带有指定标签名的对象的集合(相同的元素)。 * `write()`:向文档写文本、HTML 表达式或 JavaScript ...
数组(Array)是同类型数据的有序集合,而集合(Collection)则是更加灵活的数据结构,可以存储任意类型的对象。Java为这两种数据存储方式提供了丰富的支持和API。下面将详细介绍Java中数组和集合的使用、特点和常见...