1. 程式人生 > >JS獲取所有相同類名的元素

JS獲取所有相同類名的元素

http://www.ipuman.com/pm1/s13/152/index.html

在一個網頁中,ID具有唯一性,而CLASS就可以重複使用。有些情況下,某些元素,我們使用同一個類classname來使它們保持一致性,當前端需要對它們動態處理的時候,我們希望能夠以class來獲取它們,而不是一一給它們賦予ID。下面是一個JS獲取所有相同類名元素的函式。

01 function getElementsByClassName(className, outid){
02 var oBox = document.getElementById(outid); //獲取ID為outid的元素
03
this.d = oBox || document; //檢測oBox是否存在,如果不存在則把document賦予內部變數d
04 var children = this.d.getElementsByTagName('*') || document.all; //獲取頁面所有元素
05 var elements = new Array(); //定義一個數組,用於儲存所得到的元素
06 //獲取元素的class為className的所有元素
07 for(var i=0; i<children.length; i++){
08 var child = children[ii];
09 var classNames = child.className.split(' ');
10 for(var j=0; j<classNames.length; j++){
11 if(classNames[j] == className){
12 elements.push(child); //如果class存在,則存入elements
13 break;
14 }
15 }
16 }
17 return elements;
18 }