Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

Loop throught elements comparing previous values

I have a father div with X number of child divs. What I’m trying to do is to loop throught all the child elements and alternate some styles. For example (having 4 child divs)

  • Child 1 style = nothing;
  • Child 2 style = font-size: 24px;
  • Child 3 style = nothing;
  • Child 4 style = font-size: 24px;

At the moment this is what I have:

$('#fatherDiv > div').each(function() {
    if ($(this).css("background-color") !== 'red') {
        $(this).css("background-color", "red");
    }
});

With this code I’m able to loop throught all the childs but it seems that the if condition is wrong. I guess that I need to the the comparision but with the previous child instead of the current, so how can I do that? And is this #div > div.each the best way to loop throught the elements?

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

Here is a fiddle to play with.

>Solution :

You can do this with simple CSS without javascript. Use selector nth-of-type(odd) & nth-of-type(even) and assign your desired style.

References

Try it below.

#fatherDiv > div:nth-of-type(even) {
  background-color: red;  
}

#fatherDiv > div:nth-of-type(odd) {
  background-color: green;  
}
<div id="fatherDiv">
  <div id="childDiv1">
    <h4>Div 1</h4>
  </div>
  <div id="childDiv2">
    <h4>Div 2</h4>
  </div>
  <div id="childDiv3">
    <h4>Div 3</h4>
  </div>
  <div id="childDiv4">
    <h4>Div 4</h4>
  </div>
  <div id="childDiv5">
    <h4>Div 5</h4>
  </div>
  <div id="childDiv6">
    <h4>Div 6</h4>
  </div>
  <div id="childDiv7">
    <h4>Div 7</h4>
  </div>
</div>
Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading