getElementByClassName

/*根据CSSNAME 得到对象列表
*/
function getElementByClassName(name,obj){
	checkNode(obj,name.toUpperCase(),arr=new Array());
	return arr;
}
/*内部方法  用于递归取得 对象列表
*/
function checkNode(node,cname,arr){
	if(node.hasChildNodes()){
		var obj=node.childNodes;
		for(var i=0;i<obj.length;checkNode(obj[i],cname,arr),i++);
	}

	try{
		if(node.className!=null){
			var cnames=node.className.split(' '); 
			for(var i=0;i<cnames.length;(cnames[i].toUpperCase()==cname)?arr.push(node):null,i++) ;
		}
	}catch(err){}
}


<HTML>
<HEAD>
<TITLE>getElementByClassName</TITLE>
<style>
.fs{
	border:1px solid red;
	width:200px;
	height:200px;
}
</style>
<script>
function get(){
	/* 测试
	*/
	var s=document.getElementById('FF');
	var obj=getElementByClassName('a',s);
	//var obj=getElementByClassName('a',document);//对所有的进行

	for(var i=0;i<obj.length;i++){
		obj[i].className+=' fs';
	}
}
</script>
</HEAD>

<BODY>
<a onclick="get()">get</a>
<div class="SS a ff ee " id="fds"></div>
<div id="FF"><div></div><div class="a"></div><div><div class="a"><div><span><hr /></span></div></div></div></div>

</BODY>
</HTML>

你可能感兴趣的:(JavaScript)