Solved

.each only

Posted on 2013-01-06
2
157 Views
Last Modified: 2013-01-06
I thought that .each would pull an array back of all matching, not children elements of matching as well.

What Im trying to do is alternate colours of visable rows, which I thought would be easy using jQuery and .each(), however my code seems to pick the child div elements instead of just the matching element:-

HTML:-
<div id="divTransactions">
      <div id="row56" class="clsTransactionRow">
            <div class="txtTransDate">2012-12-24</div>
            <div class="txtTransText">DB Payment</div>
            <div class="txtTransStatus">Cleared</div>
      </div>
      <div id="row57" class="clsTransactionRow">
            <div class="txtTransDate">2012-12-23</div>
            <div class="txtTransText">CC Payment</div>
            <div class="txtTransStatus">Held</div>
      </div>
      <div id="row58" class="clsTransactionRow">
            <div class="txtTransDate">2012-12-22</div>
            <div class="txtTransText">Standing Order</div>
            <div class="txtTransStatus">Disputed</div>
      </div>
<div>

Open in new window

CSS:-
#divTransactions {width:400px; }
.clsTransactionRow { width:400px; }
.clsTransactionRowEven { background-color: #FFFFFF; }
.clsTransactionRowOdd { background-color: #CCCCCC; }

.txtTransDate { width:133px; float:left;}
.txtTransText { width:133px; float:left; }
.txtTransStatus { width:133px; float:left; }

Open in new window

JQuery:-
var rowCount=0;
$("#divTransactions .clsTransactionRow :visible").each( function(_index, _value ) {
        $(this).removeClass('clsTransactionRowEven');
        $(this).removeClass('clsTransactionRowOdd');
        if (rowCount%2==0){
            $(this).addClass('clsTransactionRowEven');
        }
        else {
            $(this).addClass('clsTransactionRowOdd');
        }
        rowCount++;
        });

Open in new window


To show you what I mean, Ive put it on jsFiddle:-
http://jsfiddle.net/DEVdJ/

How can I just get the matching rows to return, and not all the child elements, so I can set the row colours correctly?
0
Comment
Question by:tonelm54
2 Comments
 
LVL 82

Accepted Solution

by:
leakim971 earned 500 total points
Comment Utility
0
 

Author Closing Comment

by:tonelm54
Comment Utility
Thank you, again :-)
0

Featured Post

Threat Intelligence Starter Resources

Integrating threat intelligence can be challenging, and not all companies are ready. These resources can help you build awareness and prepare for defense.

Join & Write a Comment

Introduction A frequently asked question goes something like this:  "I am running a long process in the background and I want to alert my client when the process finishes.  How can I send a message to the browser?"  Unfortunately, the short answer …
I found this questions asking how to do this in many different forums, so I will describe here how to implement a solution using PHP and AJAX. The logical flow for the problem should be: Write an event handler for the first drop down box to get …
The viewer will learn how to dynamically set the form action using jQuery.
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)

744 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now