制定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。 
posted @ 2012-11-14 17:05  leejersey  阅读(23728)  评论(1编辑  收藏  举报