Felix Riesterer: getElementsByClassName als Methode von document?

Beitrag lesen

Liebe JS-Könner,

ich brauche manchmal die Funktion document.getElementsByClassName(), die jedoch nicht im bisherigen Javascript-Sprachumfang implementiert ist.

Ich habe mir einfach eine solche Funktion geschrieben:

function getElementsByClassName(className) {  
    var muster = new RegExp("(^| )" + className + "($| )");  
    var alles = document.getElementsByTagName("*");  
    var gefunden = new Array();  
    var i;  
  
    for (i=0; i < alles.length; i++) {  
        if (alles[i] && alles[i].className && alles[i].className != "") {  
            if (alles[i].className.match(muster))  
                gefunden[gefunden.length] = alles[i];  
        }  
    }  
  
    return gefunden;  
}

Nun möchte ich diese Funktion als Methode des document-Objektes haben. Wie bekomme ich jetzt meine Funktion dazu, dass sie sich auf das document bezieht? Einfach ein document.getElementsByClassName = function (className) {...} reicht ja nicht, da in meinem Funktionscode das document-Objekt fest benutzt wird. Durch die Schreibweise "document.getElementsByClassName" soll aber genau dieser Zusammenghang klar werden, ohne dass ich in meinem Code "document.xyz" notieren muss.

Wie geht das? Brauche ich etwas wie "prototype"?

Liebe Grüße aus Ellwangen,

Felix Riesterer.

--
ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)