Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

change color of odd/even DIVs in html using javascript

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?

like image 732
Zim3r Avatar asked Oct 22 '12 05:10

Zim3r


Video Answer


2 Answers

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>
like image 141
mplungjan Avatar answered Sep 18 '22 23:09

mplungjan


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++;
});
like image 37
Matthew Whittemore Avatar answered Sep 20 '22 23:09

Matthew Whittemore