是否可以使用addRule或insertRule來傳遞id選擇器? ie:addRule/insertRule與css選擇器
document.styleSheets[1].addRule('div #3', 'font: 14px verdana');
哪個會爲div創建規則?
或者是否有任何已知的解決方法?
是否可以使用addRule或insertRule來傳遞id選擇器? ie:addRule/insertRule與css選擇器
document.styleSheets[1].addRule('div #3', 'font: 14px verdana');
哪個會爲div創建規則?
或者是否有任何已知的解決方法?
您的代碼無效,因爲選擇器無效。 ID選擇器#3
無效,因爲ID選擇器cannot begin with a digit。
爲了解決這個問題,使用哪個可以與有效選擇器進行選擇的ID,例如#three
:
document.styleSheets[1].addRule('div #three', 'font: 14px verdana');
,我很笨。謝謝 :) – 2012-03-25 22:04:19
或者,也可以嘗試此方法:http://pp19dd.com/2012/01/add-inline-css-or-remote-css-file-with-javascript/
function css_add_file(css_url) {
var c = document.createElement('link');
c.type = 'text/css';
c.rel = 'stylesheet';
c.href = css_url;
c.media = 'screen';
c.title = 'dynamicLoadedSheet';
document.getElementsByTagName("head")[0].appendChild(c);
}
它將允許您或多或少地注入CSS規則,而無需對其結構進行微觀管理。
例如:css_add_inline("div#three { font-size:14px; font-family: Verdana; }");
你試過了嗎?根據我所看到的文檔,這應該可以正常工作 - 假設JavaScript允許您使用無效的ID進行操作。 #3無效,因爲ID必須以字母開頭。 – 2012-03-25 22:03:33
我做了一些應該爲你工作的東西:https://gist.github.com/yckart/5563717 – yckart 2013-05-12 14:17:54