Invalid argument ou appel de procédure IE problème lors d'une itération dans le document.les feuilles de style en utilisant $.chacun()

J'ai écrit ce code qui effectue une itération sur toutes les feuille de style globale règles et les stocke dans un tableau/objet. J'utilise ce dictionnaire comme objet ultérieurement de modifier les règles globales plutôt que de fixer les styles sur les différents éléments.

Code suivant pauses dans IE8 mais qui fonctionne bien dans Firefox3.7 et Chrome4.

var allRules;

$(function() {
    var fileRules;
    allRules = [];
    $.each(document.styleSheets, function() {
        //get rules for any browser (IE uses rules array)
        fileRules = this.cssRules || this.rules;
        $.each(fileRules, function() {
            allRules[this.selectorText] = this;
        });
    });
});

- Je obtenir Invalid procedure call or argument erreur. Quand j'essaie de le corriger, ce code avec succès parcourt deux feuilles de style CSS fichiers avec des règles, mais lorsque la seconde de l'itération est fait, il échoue.

Je n'arrive pas à trouver une erreur dans ce code.

Puisque vous ne l'utilisez pas allRules comme un tableau, vous devez le déclarer comme un objet: allRules = {};
Bas: je l'ai essayé aussi, mais il ne fonctionne pas non plus.
Désolé, j'aurais dit qu'il ne serait pas résoudre quoi que ce soit. C'était juste un aparté.

OriginalL'auteur Robert Koritnik | 2010-02-18