2009-04-21 73 views
2

我想只选择表格中第一层'td'元素而不是任何嵌套表格的单元格。 如:如何选择表格单元而不选择jQuery中的嵌套表格单元格

<table id="Outer"> 
    <tr> 

     <td> --this one 
     </td> 

     <td> --this one 
      <table> 
       <tr> 
        <td></td> -- but not this one or any deeper nested cells 
       </tr> 
      </table> 
     </td> 

    </tr> 
</table> 

(是在督促代码,我可能包括TBODY,THEAD ...)

回答

10

我d使用children选择器,该选择器仅选择与表达式匹配的直接子项。为了方便选择外表,我会给它一个名字。 注意:这将不适用于你的样本,因为我已经在选择器中添加了forad,tbody和tfoot,正如你指出你将会在生产中一样。根据您的样品调整。

$('table#namedTable').children('tbody,thead,tfoot') 
        .children('tr') 
        .children('td') 
0

给最外层表 “外” 的ID:

$("table#Outer > td").text("selected"); 
+0

似乎并不适合我 – rizzle 2009-04-21 21:58:30

+0

TD不是TABLE的直接子元素。 – tvanfosson 2009-04-21 22:04:59