Thanks karl, that clarifies it...

-GTG


On 8/3/07, Karl Swedberg <[EMAIL PROTECTED]> wrote:
>
>  On Aug 4, 2007, at 12:20 AM, Ganeshji Marwaha wrote:
>
> ha ha, u got me...
>
>
>
> :-)
>
>   but, why is that so? aren't there 3 td's each in a "tr" representing
> index 2?
>
>
>
> Yes, there are three td's, each representing index 2, but only within
> their respective context.  When you have $("tr:eq(1), td:eq(2)") , you are
> combining two separate selectors, one for $('tr:eq(1)') and one for
> $('td:eq(2)'). It's the same as doing this: $('tr:eq(1)').add('td:eq(2)').
> So, what you're saying is, "give me the second table row and give me the
> third table cell." Notice that the second selector has no context.
>
>
> If you wanted to select all 3 td elements representing index 2 (let's
> forget about the tr for the moment), you need to say something like, "give
> me the every table cell with index 2 within the context of each table row"
> :
> either:
> $('td:eq(2)', 'tr')
> or:
> $('tr').find('td:eq(2)')
>
>
> Or you could say, "give me all table cells that are the 3rd child of their
> parent":
> $('td:nth-child(3)')
>
>
>  Hope that makes sense.
>
>
> --Karl
> _________________
> Karl Swedberg
> www.englishrules.com
> www.learningjquery.com
>
>
>
>
>  On Aug 4, 2007, at 12:20 AM, Ganeshji Marwaha wrote:
>
>  ha ha, u got me...
>
> but, why is that so? aren't there 3 td's each in a "tr" representing index
> 2?
>
> -GTG
>
>
> On 8/3/07, Karl Swedberg <[EMAIL PROTECTED]> wrote:
> >
> >  On Aug 3, 2007, at 6:15 PM, Ganeshji Marwaha wrote:
> >
> > I don't think ur selector is right for selecting the 2nd row, 3rd
> > column.
> > It most probably is returning you more elements depending on the number
> > of rows u have.
> > Eg: if you have 3 rows in your table, then it should return, 1 tr and 3
> > td's each representing the 3rd column in every row.
> >
> >
> >
> > I don't think that is quite right either, Ganeshji.
> >
> > Matt's selector ...
> >
> >
> >
> > $("tr:eq(1), td:eq(2)")
> >
> >
> >
> > ... will select exactly one row (the second one) and exactly one cell
> > (the third one).
> >
> >
> > To return "1 tr and 3 td's each representing the 3rd column in every
> > row," he'd have to do something like this ...
> >
> >
> >
> > $("tr:eq(1), td:nth-child(3)")
> >
> >
> >
> >
> >
> >
> > --Karl
> > _________________
> > Karl Swedberg
> > www.englishrules.com
> > www.learningjquery.com
> >
> >
> >
> >
> >
>
>
>

Reply via email to