1

css ルールを見つけてスタイルを変更していますが、これで完了ですが、なぜこのエラーが発生するのかわかりません

TypeError: sh[i] is undefined
if ("undefined"!==sh[i].cssRules)

私のコードはここにあります

window.onload = function() {
        var sh = document.styleSheets;
        for (var i = 1; i <= sh.length; i++) {
            if (sh[i].cssRules)
                rule = sh[i].cssRules;
            else if (sh[i].rules)
                rule = sh[i].rules;
            for (var j = 0; j < rule.length; j++) {
                var sel = rule[j].selectorText;
                if (sel == ".test") {
                    var R = rule[j].style;
                    R.color = "red";
                }
            }
        }
        var C = document.createElement("div");
        C.className = "test";
        C.innerHTML = "test";
        var E = document.getElementById("div1");
        E.appendChild(C);
    }

ページにロードされたすべての css を見つけてから、変更したいルールを見つけています。

何か質問があれば私に聞いてください

4

1 に答える 1

0

解決済み:

問題はこの行にありました

for (var i = 1; i <= sh.length; i++) {

<=と交換<

于 2013-11-06T06:17:13.120 に答える