`
stride
  • 浏览: 59135 次
  • 性别: 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
分享到:
评论

相关推荐

    使用Lambda表达式查找指定字符

    使用Lambda表达式查找指定字符,(input parameters)=&gt;expression

    Excel 2010 VBA对象汇总

    展示Excel的对象名称其及含议说明 对象名称 说明 Action 对象 代表要在数据透视表或数据表中执行的...Actions 对象 指定的数据系列中所有 Action 对象的集合。 AddIn 对象 代表单个加载宏,不论该加载宏是否已加载。

    Excel_Application对象应用大全

    Application对象是Excel对象模型中最高层级的对象,代表Excel应用程序自身,也包含组成工作簿的许多部分,包括工作簿、工作表、单元格集合以及它们包含的数据。 Application对象包含: • 应用程序设置和选项,许多...

    编译的 HTML 帮助文件 (.chm) DHTML手册

    getElementsByTagName 获取基于指定元素名称的对象集合。 hasFocus 获取表明对象目前是否拥有焦点的值。 mergeAttributes 复制所有读/写标签属性到指定元素。 open 此方法以两种方式工作。该方法打开一个文档用于...

    面向对象与C++试题.doc

    12、在公用继承方式下,有关派生类对象和基类对象的关系,不正确的叙述是( )。 A.派生类的对象可以赋给基类的对象 B.派生类的对象可以初始化基类的引用 C.派生类的对象可以直接访问基类中的成员 D.派生类的...

    request的63个方法

    equals "它是用于进行两个对象的比较的,是对象内容的比较,当然也能用于进行对象参阅值的比较。 " getAttribute "返回由name指定的属性值,该属性不存在时返回null。 " getAttributeNames "返回request对象的所有...

    MongoDbPopulator:它允许在 NodeJS 上加载 MongoDB 的夹具。 夹具可以指定为文件夹中的 json 文件,或指定为 Javascript 对象

    安装 npm install mongo-db-populator通过 Javascript 对象填充数据库导入模块 var DbPopulator=require('mongo-db-populator')创建一个对象,其键是集合名称,值是表示要加载的对象的数组 var ...

    javascript文档

    hasOwnProperty 方法 返回一个 Boolean 值,标记对象是否带有指定名称的属性。 恒等运算符 (===) 比较两个表达式,看是否值相等并具有相同的数据类型。 if...else 语句 根据表达式的值,有条件地执行一组语句。 ...

    JScript 语言参考

    hasOwnProperty 方法 返回一个 Boolean 值,标记对象是否带有指定名称的属性。 恒等运算符 (===) 比较两个表达式,看是否值相等并具有相同的数据类型。 if...else 语句 根据表达式的值,有条件地执行一组语句。 ...

    微软JavaScript手册

    hasOwnProperty 方法 返回一个 Boolean 值,标记对象是否带有指定名称的属性。 恒等运算符 (===) 比较两个表达式,看是否值相等并具有相同的数据类型。 if...else 语句 根据表达式的值,有条件地执行一组语句。 ...

    C++和面向对象数值计算

    4.1.5 名称查找 4.2 包含文件 4.2.1 包含标准库文件 4.2.2 用户自定义头文 4.2.3 条件包含指令 4.2.4 文件包含 4.3 源文件和连接 4.3.1 独立编译 4.3.2 外部连接和内部连接 4.3.3 与其他...

    PHP 面向对象技术(全面讲解).txt

    类的概念:类是具有相同属性和服务的一组对象的集合。它为属于该类的所有对象提供了统一 的抽象描述,其内部包括属性和服务两个主要部分。在面向对象的编程语言中,类是一个独立的程 序单位,它应该有一个类名并包括...

    C#查找列表中所有重复出现元素的方法

    主要介绍了C#查找列表中所有重复出现元素的方法,涉及C#针对列表操作的技巧,非常具有实用价值,需要的朋友可以参考下

    apparition:测试助手的集合

    测试助手的集合。 概述 npm install apparition 特性 Properties助手提供了一种管理方式来更改对象的属性,然后在稍后回滚这些更改。 除了get()之外的每个方法都返回对属性对象的可链接引用。 新属性(主题) ...

    超级有影响力霸气的Java面试题大全文档

    wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。 17、...

    VBScript 语言参考

    Matches 集合 正则表达式匹配对象的集合。 Mid 函数 从字符串中返回指定数量的字符。 Minute 函数 返回小时内的分钟数,取值范围为 0 至 59。 杂项常数 不能纳入任何其他类的常数列表。 Mod 运算符 两数相除,只...

    VBScript 语言参考中文手册CHM

    Matches 集合 正则表达式匹配对象的集合。 Mid 函数 从字符串中返回指定数量的字符。 Minute 函数 返回小时内的分钟数,取值范围为 0 至 59。 杂项常数 不能纳入任何其他类的常数列表。 Mod 运算符 两数相除,只...

    VBSCRIP5 -ASP用法详解

    Matches 集合 正则表达式匹配对象的集合。 Mid 函数 从字符串中返回指定数量的字符。 Minute 函数 返回小时内的分钟数,取值范围为 0 至 59。 杂项常数 不能纳入任何其他类的常数列表。 Mod 运算符 两数相除,只...

    Excel VBA实用技巧大全 附书源码

    04070引用指定了左上角和右下角的单元格区域(之三) 04071引用以单一编号指定的单元格 04072引用工作表中任意对象左上角、右下角的单元格 04073引用输入了数组公式的所有单元格区域 04074引用输入了某数组公式的...

    VBSCRIPT中文手册

    Matches 集合 正则表达式匹配对象的集合。 Mid 函数 从字符串中返回指定数量的字符。 Minute 函数 返回小时内的分钟数,取值范围为 0 至 59。 杂项常数 不能纳入任何其他类的常数列表。 Mod 运算符 两数相除,只...

Global site tag (gtag.js) - Google Analytics