自定義通過類名獲取元素的函式
阿新 • • 發佈:2019-01-29
定義函式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;
}