Solved

.each only

Posted on 2013-01-06
2
165 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
ID: 38748467
0
 

Author Closing Comment

by:tonelm54
ID: 38748493
Thank you, again :-)
0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

What is a Lightbox? A Lightbox is the effect you see when you click, for example, an image and the screen fades out and up pops the same image but in its full size dimensions. There are lots of Lightbox effects for jQuery. Problem is they are a…
This article discusses how to create an extensible mechanism for linked drop downs.
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)
The viewer will learn the basics of jQuery including how to code hide show and toggles. 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…

790 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