javascript DOM编程艺术学习笔记(1)重写getElementsByClassName(class)方法

****重写getElementsByClassName(class)方法:


<!-- HTML代码 -->
<body>
	<h1>购物清单</h1>
	<ul id="shopping">
		<li class="sales">水果</li>
		<li class="sales">零食</li>
	</ul>
	
</body>

//JSd代码:
//说明:getElementsByClassName这个方法在ie6下是不支持的,其他浏览器支持

window.οnlοad=function(){
	//获得清单刘表
	var shopping=document.getElementById("shopping");
	//根据class名找到元素对象数组
	var sales=getElementsByClassName(shopping,"sales");
	//遍历这个元素对象数组
	for(var i=0;i<sales.length;i++){
		alert(sales[i].className);
	}
};

//参数1:node表示DOM数中的搜索起点
//参数2:className就是要搜索的类名
function getElementsByClassName(node,classname){
	//判断是否处在这个函数
	if(node.getElementsByClassName){
		//存在则正常运用
		return node.getElementsByClassName(classname);
	}else{
		
		//建立数组用于存储带有符合class的元素
		var arrs=new Array();
		//遍历父元素的所有子元素标记

		var elems=node.getElementsByTagName("*");
		for(var i=0;i<elems.length;i++){
			//查找类名相关的元素
			if(elems[i].className==classname){
				//将符合元素直接加在arrs数组末尾
				arrs[arrs.length]=elems[i];
			}
		}
		//返回符合元素数组对象;
		return arrs;
	}
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值