Today’s posting will be short and sweet. I want to touch on Cascading Style Sheets (CSS). Plainly stated, CSS gives HTML their look and feel. Without CSS, HTML would be plain and boring. CSS is one of the legs of the three legged stool of the web. The other two legs would be HTML and  JavaScript. Web developers need to know how to work with all three. For today’s post, I simply want to address how we can programmatically touch CSS stylings with JavaScript through the DOM.
The DOM exposes CSS style classes with the class name property (className). So we can use this property to change the look and feel of our web application. Here is an example…
[code lang=”html”]
<style type="text/css">
/* CSS stylings to demo className */
.firstClass{
color: red;
}
.secondClass{
color: blue;
}
</style>
<!– Div to hold content for className demo. –>
<div id="myDiv" class="firstClass">This is my div text.</div>
<!– Button to trigger onclick event to change class name. –>
<button id="myButton">Change Text Color</button>
<script>
// btn variable to grab the button
var btn = document.getElementById("myButton");
// onclick event to change the class name of the div
btn.onclick = function(){
document.getElementById("myDiv").className = "secondClass";
};
</script>
[/code]
If you try out the above code, you can click the button and the text will change from red to blue. As you can see, the className property is very useful. We can grab a piece of HTML content and change the stylings on the fly.
Happy Coding!
Clay Hess