文档章节

getElementBy......................................

奥巴码侬
 奥巴码侬
发布于 2015/04/14 14:19
字数 314
阅读 23
收藏 0
点赞 0
评论 0

document.getElementById

通过指定的id获取html元素,所有浏览器支持

ie7以下有bug 

如果表单元素name与要获取元素的id相同,且在id元素前面,获取到的元素为 表单元素

document.getElementsByName

getElementsByName 返回带有指定名称的对象的集合

ie8 以下 id和指定名称相同的表单元素也会被获取

var eles = document.getElementsByName('name');
alert(eles.length,' ----');

此时ie8(含)以下  浏览器会弹出 3;

ie9 (含)以下 浏览器弹出 2,不支持非表单元素

所以平时用不写兼容方法的话,为了保持获取准确性

1 元素是表单元素

2 元素 id 不要和name有重复的 

getElementsByTagName

获取指定标签名的元素集合,所有浏览器支持

getElementsByClassName

获取指定包含class名的元素集合,ie8以下 不支持

我们可以封装类似的方法解决兼容

      var getClassNameNodes = function (name, eleName) {
    		var start = Date.now();
    		eleName = eleName || "*";
    		var aEles = [],
    			aNodeLists = document.getElementsByTagName(eleName);
    		var i=0,
    			length=aNodeLists.length;
    		if (!length) return [];
    		for (; i<length; i++) {
    			if (hasClass(aNodeLists[i], name)) {
    				aEles.push(aNodeLists[i]);
    			}
    		}
    		return aEles;
      }

	var aClassName;
	function hasClass (ele, name) {
		if (ele.className == "") return false;
		aClassName = trim(ele.className).split(" ");
		for (var i=0, length=aClassName.length; i<length; i++) {
			if (aClassName[i] == name) {
				return true;
			}
		}
		return false;
	}

	function trim (string) {
		var regexp = /(^\s*)|(\s*)$/g;
		return string.replace(regexp, '');
	}



© 著作权归作者所有

共有 人打赏支持
奥巴码侬
粉丝 33
博文 99
码字总数 43584
作品 0
西城
程序员
初学自动化测试工具Selenium

前言 Selenium是一个用于Web应用程序测试的工具,测试直接运行在浏览器中,就像真正的用户在操作一样。因此使用Selenium则可以实现模拟真实用户测试web应用程序。 如何使用 从上面可以看到Sel...

buglife ⋅ 2015/01/16 ⋅ 6

没有更多内容

加载失败,请刷新页面

加载更多
分布式数据库中间件DDM的实现原理

随着数据量不断增大,传统的架构模式难以解决业务量不断增长所带来的问题,特别是在业务成线性、甚至指数级上升的情况。此时我们不得不通过水平扩展,把数据库放到不同服务器上来解决问题,也...

中间件小哥 ⋅ 7分钟前 ⋅ 0

字符编码那点事:快速理解ASCII、Unicode、GBK和UTF-8

原作者:阮一峰(ruanyifeng.com),现重新整理发布,感谢原作者的无私分享。 1、引言 今天中午,我突然想搞清楚 Unicode 和 UTF-8 之间的关系,就开始查资料。 这个问题比我想象的复杂,午饭...

JackJiang- ⋅ 13分钟前 ⋅ 0

Spring Cloud构建微服务架构:服务消费(基础)

使用LoadBalancerClient 在Spring Cloud Commons中提供了大量的与服务治理相关的抽象接口,包括DiscoveryClient、这里我们即将介绍的LoadBalancerClient等。对于这些接口的定义我们在上一篇介...

itcloud ⋅ 14分钟前 ⋅ 0

MaxCompute产品最新进展 -- 从马力到计算力

摘要:本文从马力作为功率衡量标准为切入点,介绍了大数据领域的计算力衡量标准TPCBB以及MaxCompute2.0在Big Bench上的卓越表现。同时详细地分享了取得优异成绩背后的产品在最新有哪些进展,...

猫耳m ⋅ 14分钟前 ⋅ 0

Linux系统

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。 Linux系统: Unix:是C语言转做出来的,最早的网...

凯哥学堂 ⋅ 15分钟前 ⋅ 0

13.1 设置更改root密码 13.2 连接mysql 13.3 mysql常用命令

13.1 设置更改root密码 启动MySQL数据库 [root@linux-10 ~]# /etc/init.d/mysqld startStarting MySQL SUCCESS! 由于MySQL的相关命令的所在路径不在系统的环境变量中,因此需要将路径添...

影夜Linux ⋅ 18分钟前 ⋅ 0

jeesite shiro+redis实现cache和session共享

jeesite这个开源框架本身集成的有shiro+redis来实现cache和session共享,但是需要修改一下文件配置即可 首先找到spring-context-shiro.xml文件 找到bean id为sessionDAO,将其修改为如下 <!...

wangxujun59 ⋅ 18分钟前 ⋅ 0

基本JNI搭建

1、编写Java代码 首先我们需要编写自己的java代码 public class Hello { static{ System.loadLibrary("hello-jni"); } public native String sayHello();} 2、把...

国仔饼 ⋅ 20分钟前 ⋅ 0

MaxCompute产品最新进展 -- 从马力到计算力

摘要:本文从马力作为功率衡量标准为切入点,介绍了大数据领域的计算力衡量标准TPCBB以及MaxCompute2.0在Big Bench上的卓越表现。同时详细地分享了取得优异成绩背后的产品在最新有哪些进展,...

阿里云云栖社区 ⋅ 24分钟前 ⋅ 0

AppDelegate 设置Root相关

self.window = UIWindow.init(frame: UIScreen.main.bounds) self.window?.backgroundColor = UIColor.white self.window?.makeKeyAndVisible() self.window?.rootViewController = RootTabB......

west_zll ⋅ 32分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部