制定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