亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

推薦一個(gè)封裝好的getElementsByClassName方法

 更新時(shí)間:2014年12月02日 15:01:00   投稿:hebedich  
這篇文章主要推薦一個(gè)封裝好的getElementsByClassName方法,需要的朋友可以參考下

我們知道,原生的JS給我們提供了getElementsByClassName方法,可以通過此方法獲取到含有某指定class的節(jié)點(diǎn)集合,注意是集合,也就是此函數(shù)返回一個(gè)數(shù)組。

但是,IE卻并不支持這個(gè)方法,但這方法卻是很有實(shí)用性,所以,我們又不得不專門為IE實(shí)現(xiàn)這么一個(gè)函數(shù)。

復(fù)制代碼 代碼如下:

function getElementsByClassName(oEle,sClass,sEle){
  if(oEle.getElementsByClassName){
    return oEle.getElementsByClassName(sClass);
  }else{
    var aEle=oEle.getElementsByTagName(sEle || '*'),
      reg=new RegExp('(^|\\s)'+sClass+'($|\\s)'),
      arr=[],
      i=0,
      iLen=aEle.length;

    for(; i<iLen; i++){
      if(reg.test(aEle[i].className)){
        arr.push(aEle[i]);
      }
    }
    return arr;
  }
}

使用方法:

復(fù)制代碼 代碼如下:

//第一種:選擇document下的所有class為box_box的div元素
  getElementsByClassName(document,'box_box','div')[0].style.background='yellow';

//第二種:選擇document下的所有class為box-box的div元素
  getElementsByClassName(document,'box-box','div')[0].style.background='yellow';

//第三種:選擇document下的所有class為box-box元素
  getElementsByClassName(document,'box-box')[0].style.background='yellow';

oEle、sClass是必填的,sEle是選填的。

sClass中又中橫線或下劃線親測木有問題,比如說:box-box box_box;但是如果是其他特殊字符就很有可能有問題了,如:box$box…  當(dāng)然可以自己加轉(zhuǎn)義搞定特殊字符,如:box\\$box…

兼容性:親測ie6+

小伙伴們自己使用一下就知道了,超級好用,擴(kuò)散下給其他小伙伴吧。

相關(guān)文章

最新評論