Possible Duplicate:
Changing a CSS rule-set from Javascript
I was wondering if there is any possibility to modify Css stylesheet declarations without going for inline styling.
Here is a quick example :
<style>
.box {color:green;}
.box:hover {color:blue;}
</style>
<div class="box">TEXT</div>
That gives a blue written box that turns green written on hover.
If I give inline styling for the color, the hover behavior will be lost :
<div class="box" style="color:red;">TEXT</box>
That gives a red written box, no matter what.
So my question is, how can one access and modify the css declaration object rather than overwriting styles with inline ones.
Thanks,
With JavaScript, we are able to set CSS styles for one or multiple elements in the DOM, modify them, remove them or even change the whole stylesheet for all your page.
color = "red"; you can apply the style change dynamically. Below is a function that turns an element's colour to red when you pass it the element's id . You could also use setAttribute(key, value) to set a style on an element. For example, you could set the colour of an element to red by calling element.
You could change it any of the following ways: Adding a style declaration in the page. Adding an inline style declaration on the element. Using jQuery to change the style of the element.
JavaScript can also be used to load a CSS file in the HTML document.
You could use the cssRules
on the DOM stylesheet object corresponding to your original stylesheet to modify your rule.
var sheet = document.styleSheets[0];
var rules = sheet.cssRules || sheet.rules;
rules[0].style.color = 'red';
Note that IE uses rules
instead of cssRules
.
Here is a demonstration: http://jsfiddle.net/8Mnsf/1/
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With