For example we 5 DIVs:
<div id="container" >
<div class="child">1</div>
<div class="child">2</div>
<div class="child">3</div>
<div class="child">4</div>
<div class="child">5</div>
</div>
How can I change the background color of even DIVs?
CSS3 - not working in older browsers such as IE8
#container2 > div:nth-child(even){
background: yellow;
}
jQuery which does work in IE8 too
$("#container > div:nth-child(even)").addClass("even");
I also found this discussion: IE8 and jQuery selectors
Here is a DEMO of CSS3 and jQuery both
$("#container1 > div:nth-child(even)").addClass("even");
.even {
background-color: yellow
}
#container2>div:nth-child(even) {
background: yellow;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
jQuery:
<div id="container1">
<div class="child">1</div>
<div class="child">2</div>
<div class="child">3</div>
<div class="child">4</div>
<div class="child">5</div>
</div>
<hr/> CSS3:
<div id="container2">
<div class="child">1</div>
<div class="child">2</div>
<div class="child">3</div>
<div class="child">4</div>
<div class="child">5</div>
</div>
If you wanted a javascript option for some reason (maybe you're looking to do more than just a class?) you could use the each() function in jquery. Here is a functioning example to boot!
CSS
.redBox{
background-color: #ff0000;
}
Javascript
var i = 0;
$(".child").each(function(i){
if(i%2===0){
$(this).addClass("redBox");
}
i++;
});
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