`
stride
  • 浏览: 59737 次
  • 性别: Icon_minigender_1
  • 来自: 长春
社区版块
存档分类
最新评论

获得指定对象下的指定名称对象集合

阅读更多

这篇是纯属给朋友帮忙了,他要获得一个 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>
 
0
2
分享到:
评论

相关推荐

    遍历指定对象所有的属性名称和值.rar

    这个压缩包文件"遍历指定对象所有的属性名称和值.rar"很可能包含一个示例或教程,教你如何在JavaScript或其他编程语言中实现这一功能。下面,我们将详细讨论如何在JavaScript中遍历对象的属性以及相关知识点。 在...

    Java中Json字符串直接转换为对象的方法(包括多层List集合)

    本文将详细介绍如何将JSON字符串直接转换为Java对象,特别是涉及到多层List集合的情况。在本例中,我们将使用`net.sf.json.JSONObject`类来实现这一功能。 首先,确保你的项目中已经引入了必要的库。在使用`...

    document对象内容集合.txt

    在给定的文件“document对象内容集合.txt”中,我们深入探讨了与DOM相关的多个知识点,包括其属性、方法以及如何通过JavaScript来操作DOM元素。 ### DOM基本概念 DOM是一种标准,用于表示和交互HTML或XML文档中的...

    c++ 类与对象课件,包括对象的初始化,对象的使用,构造函数和析构函数等等

    构造函数是用于初始化新创建的对象的特殊函数,其名称与类名相同且无返回类型。析构函数则是对象生命周期结束时自动调用的函数,用于清理对象可能占用的资源。 拷贝构造函数是另一个重要的构造函数,用于创建一个...

    Document对象内容集合

    ### Document对象内容集合 在网页开发中,Document对象是浏览器为用户提供的重要接口之一,它代表了整个HTML或XML文档,并提供了访问和操作文档结构的方法。本文将深入解析Document对象的相关属性与方法,帮助读者...

    ADO三大对象详解

    * Execute:执行 Command 对象指定的 SQL 语句或存储过程。 * Cancel:取消当前的 Command 对象执行。 Recordset 对象 Recordset 对象用于存储和操作查询结果集。Recordset 对象的主要属性包括: * RecordCount:...

    ADO数据对象

    - **CommandText**: 设置或返回 Command 对象执行的 SQL 语句或存储过程名称。 - **CommandType**: 设置或返回 Command 对象执行命令的类型。 - **Parameters**: 返回 Parameters 集合。 ##### 3. Command 对象的...

    AMO对象说明文档

    开发人员可以使用 Cube 对象来创建度量值组,指定度量值组的名称、度量值组的类型等信息。 ### 2.5.3.1 新建度量值组 开发人员可以使用 Cube 对象来新建度量值组。新建度量值组需要指定度量值组的名称、度量值组的...

    document对象

    * getElementsByName:获取具有指定名称的所有元素对象的集合。 * getElementsByTagName:获取具有指定标签名称的所有元素对象的集合。 * open:打开输出流,以便写入数据。 * queryCommandEnabled:检查指定命令...

    js中通过getElementsByName访问name集合对象的方法

    在JavaScript中,通过getElementsByName方法可以访问到具有特定name属性的所有元素,返回的结果是一个集合对象。这个集合对象非常像数组,可以使用数组的方法进行操作。需要注意的是,返回的是一个节点集合,表示...

    window对象集合

    Window对象的集合`frames`非常有用,它包含了窗口内所有子窗口或框架的引用,允许开发者遍历和操作这些子窗口。这对于多窗口或框架的应用程序来说是必不可少的。 在方法方面,Window对象提供了大量实用的功能,如`...

    Excel_Application对象应用大全

    Excel Application 对象是 Excel 对象模型中最高层级的对象,代表 Excel 应用程序自身,也包含组成工作簿的许多部分,包括工作簿、工作表、单元格集合以及它们包含的数据。熟悉 Application 对象能够让您扩展和调整 ...

    ADO对象模型的概要.doc

    - `Parameters`集合包含Command对象的所有Parameter对象。 - `Properties`集合包含特定对象实例的所有Property对象。 以上就是ADO对象模型的基本概览,通过这些对象,开发者可以实现与数据源的交互,包括查询、...

    FSO组件详解(详细教程包括所有集合,属性,方法)

    * Drives:返回本地计算机上所有驱动器对象的集合。 * FileSystem:返回指定驱动器所使用的文件系统类型。 FSO 组件的方法: * BuildPath:将一个名称追加到已有的路径后。 * CopyFile:从一个位置向另一个位置...

    pb 获取子文件夹名称

    标题“pb 获取子文件夹名称”指的是在PowerBuilder(PB)环境中,如何获取一个特定文件夹下的所有子文件夹名称。PowerBuilder是一款历史悠久的可视化编程工具,常用于开发企业级应用,尤其在数据库应用程序中非常...

    java代码-使用集合ArrayList对字符串进行存储和管理 任务: 1.定义ArrayList对象 2.存储学科名称,见运行效果图 3.输出集合中元素的个数 4.遍历输出集合中的所有元素

    在Java编程语言中,集合框架是处理对象组的重要工具,ArrayList是其中的一种。ArrayList是一个基于数组实现的动态大小的列表,允许我们在其中存储和管理各种类型的对象,包括字符串。在这个场景中,我们将深入理解...

    js对象属性大全下载

    ### JavaScript对象属性详解 在深入探讨JavaScript对象属性之前,我们首先需要理解JavaScript是一种广泛应用于网页开发的编程语言,它能够使网页变得动态、交互性更强。JavaScript中的对象是其核心特性之一,几乎...

    javascript操作BOM对象.docx

    * `getElementByName()`:返回带有指定名称的对象的集合(相同 name 属性)。 * `getElementByTagName()`:返回带有指定标签名的对象的集合(相同的元素)。 * `write()`:向文档写文本、HTML 表达式或 JavaScript ...

    数组和集合

    数组(Array)是同类型数据的有序集合,而集合(Collection)则是更加灵活的数据结构,可以存储任意类型的对象。Java为这两种数据存储方式提供了丰富的支持和API。下面将详细介绍Java中数组和集合的使用、特点和常见...

Global site tag (gtag.js) - Google Analytics