Hi Karl.. thanks for the reply...

what i actually wanted is.... to select the first tbody.... thats why i
specified tbody:first-child there....
since a table can have multiple tbody... i want to select the first tbody.

What I didnt understand is.... about the thead..

the following works....

<table id="myTable">
   <tbody>
        <tr>
         ....
        </tr>
  </tbody>
</table>

$("#myTable  tbody:first-child  tr").length;


but this doesnt work:

<table id="myTable">
   <thead>
       <tr>
...
       </tr>
  </thead>
   <tbody>
        <tr>
         ....
        </tr>
  </tbody>
</table>

$("#myTable  tbody:first-child  tr").length;


I dont know how  thead causes the second code above not to work...



On Wed, Feb 25, 2009 at 8:11 PM, Karl Rudd <karl.r...@gmail.com> wrote:

>
> tbody:first-child doesn't select the "first child of the tbody" it
> says "select the tbody that is the 'first-child' of it's parent".
>
> So what you are actually wanting to say is:
>
> $("#myTable tbody tr:first-child")
>
> Which is "select the tr that is the first child of tbody"
>
> http://docs.jquery.com/Selectors/firstChild
>
> Karl Rudd
>
> On Wed, Feb 25, 2009 at 8:08 PM, Alex Wibowo <alexwib...@gmail.com> wrote:
> > sorry.... i should say....
> > "how does that explain the behaviour when there's no thead" (because it
> > works when thead doesnt exist)
> >
> > On Wed, Feb 25, 2009 at 8:06 PM, Alex Wibowo <alexwib...@gmail.com>
> wrote:
> >>
> >> how does that explain the behaviour when there's thead then??
> >>
> >>
> >> On Wed, Feb 25, 2009 at 7:47 PM, David Muir <davidkm...@gmail.com>
> wrote:
> >>>
> >>> It's because tbody:first-child is already selecting the tr, so you're
> >>> effectively doing:
> >>> tbody tr tr (where the first tr is the first child of tbody)
> >>>
> >>> Cheers,
> >>> David
> >>>
> >>>
> >>> Alex Wibowo wrote:
> >>>>
> >>>> Hi all,
> >>>>
> >>>> I have a code that counts the number of rows in a table...
> >>>>
> >>>> the table looks like:
> >>>>
> >>>> <table id="myTable">
> >>>>  <thead>
> >>>>   ...
> >>>>   </thead>
> >>>>
> >>>>   <tbody>
> >>>>        <tr>
> >>>>         ....
> >>>>        </tr>
> >>>>  </tbody>
> >>>> </table>
> >>>>
> >>>>
> >>>> and my jquery looks like:
> >>>>
> >>>> $("#myTable  tbody:first-child  tr").length;
> >>>>
> >>>> strange enough.... that always returns 0.
> >>>> but if i remove the thead from the table... then it will return the
> >>>> correct number of rows..
> >>>>
> >>>> or alternatively, i can keep the thead, but use the following instead:
> >>>>
> >>>> $("#myTable  tbody  tr").length;
> >>>>
> >>>> i.e. without specifying first-child.
> >>>>
> >>>> Can anyone explain this behaviour?
> >>>>
> >>>>
> >>>>
> >>>> THanks a lot!
> >>>>
> >>>>
> >>>>
> >>>> --
> >>>> Best regards,
> >>>>
> >>>>
> >>>> WiB
> >>>>
> >>>
> >>
> >>
> >>
> >> --
> >> Best regards,
> >>
> >>
> >> WiB
> >>
> >
> >
> >
> > --
> > Best regards,
> >
> >
> > WiB
> >
> >
>



-- 
Best regards,


WiB

Reply via email to