1. 程式人生 > >自定義通過類名獲取元素的函式

自定義通過類名獲取元素的函式

定義函式getByClass()實現獲取document或指定父元素下所有class為on的元素,要求該函式可以接收一個引數也可以接收兩個引數:第一個引數為必需的,第二個引數為可選的;第一個引數為要獲取的元素的類名,第二個引數如果傳,則傳父元素的id,不傳則預設用document。

html程式碼如下:

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
		<ul id="list">
			<li class="on">1</li>
			<li class="select">2</li>
			<li class="on">3</li>
			<li>4</li>
		</ul>
		<p class="on">class為on的p標籤</p>
</body>
</html>
<script type="text/javascript">
  window.onload=function(){
     var len1= getByClass('on','list');
     alert(len1.length);  
var len2= getByClass('on');
     alert(len1.length);  
}

getByClass方法如下:

function getByClass(clsName, parent){  
 var arr=[];
 var oElements;
 if(parent=""){    //第二個引數為空
     var oElements=document.getElementsByTagName("*");
 }else{           //第二個引數不為空
     oParent=document.getElementById("parent");
     oElements=oParent.getElementsByTagName("*");
 }
 for(var i=0;i<oElements.length;i++){
     if(oElements[i].className==clsName){
         arr.push(oElements[i]);
     }
 }
 return arr;
}