Baseline Widely available
CSSStyleSheet.insertRule()
æ¹æ³ç¨æ¥ç»å½åæ ·å¼è¡¨æå
¥æ°çæ ·å¼è§åï¼CSS ruleï¼ï¼å¹¶ä¸å
å«ä¸äºéå¶ã
夿³¨ï¼ 尽管 insertRule()
æ¯ CSSStyleSheet
çä¸ä¸ªæ¹æ³ï¼ä½å®å®é
æå
¥çå°æ¹æ¯ CSSStyleSheet.cssRules
çå
é¨ CSSRuleList
ã
insertRule(rule)
insertRule(rule, index)
åæ°
rule
ä¸ä¸ªå
å«äºå°è¦æå
¥çè§åç DOMString
ãè§åå符串å¿
é¡»å
å«çå
容åå³äºå®çç±»åï¼
index
å¯é
ä¸ä¸ªå°äºæçäº stylesheet.cssRules.length
çæ£æ´æ°ï¼è¡¨ç¤ºæ°æå
¥çè§åå¨CSSStyleSheet.cssRules
ä¸çä½ç½®ãé»è®¤å¼æ¯ 0
ãï¼å¨è¿å»çå®ç°ä¸ï¼è¿ä¸ªåæ°æ¯å¿
éçï¼è¯¦æ
åè§æµè§å¨å
¼å®¹æ§ãï¼
æ°æå ¥çè§åå¨å½åæ ·å¼è¡¨è§åå表ä¸çç´¢å¼ã
éå¶CSS ä¸åå¨ä¸äºç´è§å䏿¯å¤ªç´è§è½æåå°çéå¶è§åå½±åçæäºæ ·å¼è§åè½å¦è¢«æå
¥ãè¿åè¿äºè§åå¯è½ä¼å¯¼è´ä¸äº DOM å¼å¸¸ï¼DOMException
ï¼ã
index
> CSSRuleList.length
ï¼è¯¥æ¹æ³ä¼ä¸æ¢å¹¶è¿åä¸ä¸ª IndexSizeError
é误ï¼rule
ç±äºä¸äº CSS 约æèä¸è½è¢«æå
¥å° index
0
ï¼è¯¥æ¹æ³ä¼ä¸æ¢å¹¶è¿åä¸ä¸ª HierarchyRequestError
é误ï¼rule
åæ°ä¸å
å«è¶
è¿ä¸æ¡æ ·å¼è§åï¼è¯¥æ¹æ³ä¼ä¸æ¢å¹¶è¿åä¸ä¸ª SyntaxError
ï¼@import
è¿ç§ç±»åçè§åï¼è¯¥æ¹æ³ä¼ä¸æ¢å¹¶è¿åä¸ä¸ª HierarchyRequestError
é误ï¼rule
æ¯ @namespace
å¹¶ä¸è§ååè¡¨ä¸æå¦å¤ç @import
å/æ @namespace
è§åï¼è¯¥æ¹æ³ä¸æ¢å¹¶è¿åä¸ä¸ª InvalidStateError
é误ï¼ä¸é¢ç代ç çæ®µå°å¨æ ·å¼è¡¨ myStyle
ç顶鍿å
¥ä¸æ¡æ°è§åï¼
myStyle.insertRule("#blanc { color: white }", 0);
å®ç°ä¸ä¸ªæ·»å æ ·å¼è¡¨è§åç彿°
/**
* å¨ææ¡£ä¸æ·»å 䏿¡æ ·å¼è¡¨è§åï¼è¿å¯è½æ¯å¨ææ¹å class åçæ´å¥½çå®ç°æ¹æ³ï¼
* ä½¿å¾ style æ ·å¼å
容å¯ä»¥ä¿çå¨çæ£çæ ·å¼è¡¨ä¸ï¼ä»¥ä¾¿æ·»å é¢å¤çå
ç´ å° DOM ä¸ï¼ã
* 注æè¿éæå¿
è¦å£°æä¸ä¸ªæ°ç»ï¼å 为 ECMAScript ä¸ä¿è¯å¯¹è±¡æé¢æ³ç顺åºéåï¼
* å¹¶ä¸ CSS 乿¯ä¾èµäºé¡ºåºçã
* ç±»å为æ°ç»çåæ° decls æ¥åä¸ä¸ª JSON ç¼è¯çæ°ç»ã
* @example
addStylesheetRules([
['h2', // è¿æ¥å第äºä¸ªåæ°ä½ä¸ºæ°ç»ä¸çæ°ç»
['color', 'red'],
['background-color', 'green', true] // 'true' for !important rules
],
['.myClass',
['background-color', 'yellow']
]
]);
*/
function addStylesheetRules(decls) {
var style = document.createElement("style");
document.getElementsByTagName("head")[0].appendChild(style);
if (!window.createPopup) {
/* For Safari */
style.appendChild(document.createTextNode(""));
}
var s = document.styleSheets[document.styleSheets.length - 1];
for (var i = 0, dl = decls.length; i < dl; i++) {
var j = 1,
decl = decls[i],
selector = decl[0],
rulesStr = "";
if (Object.prototype.toString.call(decl[1][0]) === "[object Array]") {
decl = decl[1];
j = 0;
}
for (var rl = decl.length; j < rl; j++) {
var rule = decl[j];
rulesStr +=
rule[0] + ":" + rule[1] + (rule[2] ? " !important" : "") + ";\n";
}
if (s.insertRule) {
s.insertRule(selector + "{" + rulesStr + "}", s.cssRules.length);
} else {
/* IE */
s.addRule(selector, rulesStr, -1);
}
}
}
è§è æµè§å¨å
¼å®¹æ§ åè§
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4