制定document.getElementByClassName()


制定document.getElementByClassName()

Abstract

W3C DOM有制定document.getElementByClassName(),但有候没有ID,而只有class name可抓怎?
Introduction

Blog做改造,常遇到根本有ID可抓,而只有class可抓,但很憾W3C DOM有document.getElementByClassName(),以下JavaScript可以模getElementByClassName()。
JavaScript / getElementByClassName

1   function   getElementsByClassName (className) {
2        var   all  =   document.all  ?   document.all : document.getElementsByTagName(   '   * '   );
3     var  elements  =  new  Array();
4        for   (   var   e  =   ; e  <   all.length; e   ++   ) {
5          if   (all[e].className  ==   className) {
6          elements[elements.length]  =   all[e];
7            break   ;
8        }
9      }
10        return   elements; 11   } 12

2行

var   all  =   document.all  ?   document.all : document.getElementsByTagName(   '   *   '   );

document.allIE4的DHTML的技,IE4之後接有支援,所以可以的利用是否有支援document.all判 是否IE,若不是IE,用W3C DOM的document.getElementByTagName('*')取代all,所以方式在IE或FireFox皆能使用。
4行 ~ 9行

for   (   var   e  =   ; e  <   all.length; e   ++   ) {      if   (all[e].className  ==   className) {      elements[elements.length]  =   all[e];        break   ;    } }   利用圈一tag一tag判其class name否符合件,找到第一符合件就跳出圈,如此就能找到第一符合class name的tag。  


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM