1. 程式人生 > >當IE瀏覽器不支援document.getElementByClassName()

當IE瀏覽器不支援document.getElementByClassName()

當我們寫程式碼時,尤其是要獲得一個物件的className值時,在IE下是不支援document.getElementByClassName()這種方法的,那麼我們可以自己寫一個方法用來獲取classname的值

function getByClassName(obj,cls){

// obj目標元素,cls要獲得的class名

var element = obj.getElementsByTagName('*');//將目標下的所有子元素獲取到
var result = []; //定義一個數組,存放獲得的classname = "cls" 的所有值
for(var i = 0; i< element.length; i++){
if(element[i].className == cls){
result.push(element[i]);
}
}
return result;
}

例子:

<div id= "diva" >

<div class = "divb">

<span>我是divb

</div>

</div>


如要獲得diva下的divb 則需要這樣寫

<script >

.

.

var a = document.getElementById("diva");

var result =getByClassName(a,"divb");

.

.

</script>

如果要求的div的父元素沒有屬性id,或者更向上一層的也沒有屬性id,那麼我能想到的辦法就是通過document.body獲取到body元素再向下逐層查詢。(注:請儘量不要用document.body和document.all)