getElementsByTagName不是函数?

Mic*_*h54 1 javascript tinymce

我实际上在上一篇文章中找到了与我问的问题相关的代码,但是,尽管看起来很容易,但我无法通过doc.getElementsByTagName不是函数错误.以下是示例代码:

var addCssRule = (function() {
        var addRule;

        if (typeof document.styleSheets != "undefined" && document.styleSheets) {
            addRule = function(selector, rule, doc, el) {
                var sheets = doc.styleSheets, sheet;
                if (sheets && sheets.length) {
                    sheet = sheets[sheets.length - 1];
                    if (sheet.addRule) {
                        sheet.addRule(selector, rule)
                    } else if (typeof sheet.cssText == "string") {
                        sheet.cssText = selector + " {" + rule + "}";
                    } else if (sheet.insertRule && sheet.cssRules) {
                        sheet.insertRule(selector + " {" + rule + "}", sheet.cssRules.length);
                    }
                }
            }
        } else {
            addRule = function(selector, rule, doc, el) {
                el.appendChild(doc.createTextNode(selector + " {" + rule + "}"));
            };
        }

        return function(selector, rule, doc) {
            doc = doc || document;

            var head = doc.getElementsByTagName("head")[0];
            if (head && addRule) {
                var styleEl = doc.createElement("style");
                styleEl.type = "text/css";
                styleEl.media = "screen";
                head.appendChild(styleEl);
                addRule(selector, rule, doc, styleEl);
                styleEl = null;
            }
        };
    })();

    addCssRule("ol", "color:red", tinyMCE.Editor[0]);
Run Code Online (Sandbox Code Playgroud)

我很确定代码是正确的.我想我误解了tinymce变量是如何传递的.你怎么看?

Jac*_*cob 5

你传递给你的函数的第三个参数是tinyMCE.Editor[0].是否getElementsByTagName功能?