使用children('tr')取得是表格里面所有的子tr或子子tr等,可是我的表格里有好几层表格,现在只写取第一级子元素,第二级三级的都不取,不知道咱取,请高手指教。

解决方案 »

  1.   

    children也只取子元素,不取后代的啊
    你的代码有问题~~你的选择器怎么写的?
      

  2.   

    这个 绝对可以$("table>tbody>tr")
      

  3.   

    我100%可以保证和children效果是一样的。
    只有table区别于其他table才有效~
      

  4.   

    测试代码如下(length为0不知道怎么回事):<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
        <head>
        <script type="text/javascript" src="jquery/jquery-1.4.1.min.js"></script>
        </head>    <body> 
            <table id="tableBody" name="tableBody" border='1'>
                <tr>
                    <th>1</th>
                    <th>2</th>
                    <th>3</th>
                </tr>
                <tr id="trBody" name="trBody">
                    <td id="1">1</td>
                    <td id="2"><input type="text"></td>
                    <td id="3">3</td>
                </tr>
    <tr>
                    <td id="1">1</td>
                    <td id="2"><input type="text"></td>
                    <td id="3">3</td>
                </tr>
    <tr>
                    <td id="1"><TABLE border="3">
                    <TR>
    <TD>sd</TD>
    <TD>sadf</TD>
    <TD>sadf</TD>
                    </TR>
                    <TR>
    <TD>asdf</TD>
    <TD>asdf</TD>
    <TD>asf</TD>
                    </TR>
                    </TABLE>1</td>
                    <td id="2"><input type="text"></td>
                    <td id="3">3</td>
                </tr>
            </table>
            <input type="button" onClick="addTr();" value="add" />
        </body> 
        
        <script type="text/javascript">
            alert($("#trBody > tr").length);
        </script>
    </html>
      

  5.   

    alert($("#trBody > tr").size());
      

  6.   

    alert($("#tableBody> tr").size());
      

  7.   

    对了,那个alert($("#trBody > tr").length);
    上面代码里发错了,是用#tableBody。
    不是因为我写错tableBody而这样的,用#tableBody > tr元素个数都是0,试了修改子元素CSS,也改不了。
      

  8.   

    换成tableBody
    然后用这位朋友的可以
      

  9.   

    alert($("#tableBody> tr").size());
    这样呢?
      

  10.   

    谢谢6楼的$("table tr:first-child")
    我改成#方式,就行了。 
    alert($("#tableBody> tr").size());
    也不行,也谢谢了。
    谢谢各位。 
    想请教下,除了使用6楼的方法, 难得#tableBody > tr这种方式不行?我测试了, 都不行, 可是教程上,都说这样可以。不知道什么原因?
      

  11.   


    <table><thbody><tr> 所以 中间有个thbody 
      

  12.   

    6楼得到的难道不是一个?
    你不是要子元素集合木?还有zhaoguangxu童鞋,咱不争论这个,具体环境你遇到了自然明白~~
      

  13.   

    $("table>tbody>tr")
    这个取得也是一级,二级的,我想只取一级的
    我搞错了, 6楼的也不行(用ID取),这种个数是2.实际的个数应该是4.大家可以#tableBody表格的第一级的。
      

  14.   

    $("#tableBody > tbody > tr").length怎么可能会去到二级的呢tips:thead和tfoot往往会捣乱,所以……
      

  15.   

    散分了。这么我热心朋友,我很感谢,找错误找了一下午了,感动中。
    分不多,多多见谅,等我在csdn上面分多了,下次多给点,我是新来的,多多关照!