$('tr.className + tr').each(function(){
var nxt = $(this), i=0;
while (nxt.length){
nxt.css('backgroundColor', i%2 ? 'white' : 'red');
nxt = n.next(':not(.className)');
i++;
}
});
Or this (I prefer the first, this one is probably slower):
$('tr.className + tr').each(function(){
var t = $(this), nxt = t;
while (nxt.length){
nxt = nxt.next(':not(.className)');
t = t.add(next);
}
t.filter(':even').css('color','red');
t.filter(:odd').css('color', 'white');
});
cheers,
- ricardo
On Feb 28, 12:06 am, Josh Powell <seas...@gmail.com> wrote:
> hmmm, tough one, it was fun.
>
> $(function() {
> var color = '';
> $('#everyother tr').each(function() {
> if( $(this).hasClass('className') ) {
> color = 'red';
> } else if (color === 'red') {
> $(this).css({'background-color': 'red'});
> color = '';
> } else {
> color = 'red';
> }
> });
>
> <table id="everyother">
> <tr class="className"><td>className</td></tr>
> <tr><td>1</td></tr>
> <tr><td>1</td></tr>
> <tr class="className"></><td>className</td></tr>
> <tr><td>1</td></tr>
> <tr><td>1</td></tr>
> <tr><td>1</td></tr>
> <tr class="className"><td>className</td></tr>
> <tr><td>1</td></tr>
> <tr><td>1</td></tr>
> </table>
>
> On Feb 27, 9:03 am, Magritte <marco.oliva...@gmail.com> wrote:
>
> > Ok, it work, but I another trouble.
>
> > the code now become:
> > $('tr:not(.className):odd').css({'background':'red'});
>
> > because I would like to color row alternatively.
> > The problem is that I would like that the alternativy start alway with
> > red.(first '<tr>' after every '<tr class="className"></></tr>' red,
> > then 'white', then red,....)
>
> > With this code it doesn't happen.
>
> > Thanks
>
> > On 27 Feb, 13:17, Thomas Jaggi <thomas.ja...@gmail.com> wrote:
>
> > > This should do it:
> > > $('tr:not(.className)').css({'background':'red'});
No comments:
Post a Comment