JS獲取所有相同類名的元素
阿新 • • 發佈:2019-01-29
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 |
} |