Oops. Got tripped up by this last week too...

David

Karl Rudd 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



Reply via email to