實際上,我在之前的帖子中發現了這個代碼,與我提出的問題有關,儘管看起來很容易,但我無法過去doc.getElementsByTagName不是函數錯誤。以下是示例代碼: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]);
我很確定代碼是正確的。我在想我誤解了tinymce變量是如何傳遞的。你怎麼看?
什麼瀏覽器給出錯誤? – SLaks 2011-01-06 00:11:34