Ich fand diesen Code tatsächlich auf einem früheren Post in Bezug auf eine Frage, die ich fragte, obwohl es scheinbar einfach ist, kann ich nicht vorbeikommen doc.getElementsByTagName ist kein Funktionsfehler. Hier ist der Beispielcode:getElementsByTagName keine Funktion?
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]);
Ich bin ziemlich sicher, dass der Code korrekt ist. Ich denke, ich verstehe falsch, wie die Variable tinymce übergeben wird. Was denken Sie?
Welche Browser geben den Fehler? – SLaks