javascript - Getting CSS file by ID to manipulate the properties -


i have following snippet overwrites css properties:-

var stylesheet  = document.stylesheets[2]; // refers 3rd stylesheet  // mozilla if (stylesheet.cssrules) {     var cssrule     = stylesheet.cssrules;      // ... } // ie else {     var cssrule     = stylesheet.rules;      // ... } 

this code works, don't fact i'm referencing stylesheet using document.stylesheets[2] because brittle. so, assigned id link tag, hoping can use jquery stylesheet id. however, i'm not sure how cast returned object jquery cssstylesheet object can assign stylesheet variable.

// want change this... var stylesheet  = document.stylesheets[2]; // [object cssstylesheet]  // ... this... var stylesheet  = $("link#layout"); // not right because [object object] 

any clue? thanks.

update

per @tj's suggestion, after futzing around, think might go title instead of href... @ least until find incompatibilities next time. right now, works in ff, ie, safari , chrome.

for (var = 0; < document.stylesheets.length; ++i) {     var stylesheet  = document.stylesheets[i];       if (document.stylesheets[i].title == "layout-overwrite") {         // mozilla         if (stylesheet.cssrules) {             var cssrule = stylesheet.cssrules;             // ..         }         // ie         else {             var cssrule = stylesheet.rules;             // ..         }     } } 

the object you'll id link dom element, not stylesheet.

as far know, there's no way assign name stylesheet , name. instead, you'll need define "marker rule" (unless have nice unique rule can for), loop through style sheet objects, , rule determine you've found right one.

edit: both mdc , msdn there's href property on cssstylesheet object / stylesheet object, better marker rule.

edit 2: , (the href) seems work in ie, ff, chrome, , opera, although i'm getting duplicate entries specific stylesheet tested with: http://jsbin.com/edaga3/2 (off-topic: note if load stylesheet different origin, browser may prevent access rules.)


Comments

Popular posts from this blog

python - Scipy curvefit RuntimeError:Optimal parameters not found: Number of calls to function has reached maxfev = 1000 -

c# - How to add a new treeview at the selected node? -

java - netbeans "Please wait - classpath scanning in progress..." -