jQuery - 选择表格单元格而不从嵌套表格中选择

时间:2010-06-21 18:35:29

标签: jquery html jquery-selectors

我写了一些jQuery来从具有某个类的表中选择单元格;在这种情况下,“你好”。但是,该表具有嵌套表,其中包含相同类的列。如何从外表中选择单元格但不从内部选择单元格?见下文:

HTML:
<table class="foo"> <!-- this is the outer table
  <tbody>
    <tr>
      <td class="hello"> <!-- select this cell

        <table> <!-- this is the nested table
          <tbody>
            <tr>
              <td class="hello"> <!-- do not select this cell
              </td>
            </tr>
          </tbody>
        </table>

      </td>
    </tr>
  </tbody>
</table>

jQuery:
// this selects the nested cells as well
$('table.foo:first').find('td.hello').doSomething();

2 个答案:

答案 0 :(得分:5)

你想要的是避免递归太深,所以你可以这样:

$('table:first > tbody > tr > td.hello')

我认为,相当于

$('table:first').children('tbody').children('tr').children('td.hello')

答案 1 :(得分:0)

如果外表上的类保留,您可以使用:

$('table.foo > tbody > tr > td.hello');

这里要注意的一件事可能是<tbody>元素总是存在,即使您没有明确指定它。由于<tbody>元素的SGML / HTML / XHTML / whatyacallit定义的性质,它具有可选开始标记。即使源不包含它,也会在解析表时创建DOM元素。