I have the following table structure.

```
<table id='mytable'>
    <tr><td>1</td></tr>
    <tr><td>2</td></tr>
    <tr><td>3</td></tr>
    <tr><td>
        <table>
            <tr><td>A</td></tr>
            <tr><td>B</td></tr>
            <tr><td>C</td></tr>
        </table>
    </td></tr>
</table>

```

What I want to do is just getting the direct `TR` elements from `mytable`. Obviously, there are 4 direct `TR` of `mytable`.

The following shows three statements. I expected they return same result. However they **don't**.

```
var mytable$ = $("#mytable");

var trcount1 = mytable$.children("tbody").children().length; // trcount1 = 4
var trcount2 = mytable$.children("tbody > tr").length; // trcount2 = 0
var trcount3 = $("tbody > tr", mytable$).length; // trcount3 = 7

```

Only the syntax for getting `trcount1` is what I wanted.

Why are `trcount2` and `trcount3` not 4?

Thanks

Alex

===================================

Thanks jfriend00's reply.

That's what I want.

```
$("> tbody > tr", mytable$).length; // 4
mytable$.find("> tbody > tr").length; // 4

```

I missed ">" before `tbody`.