JQuery返回find与eq一起使用

时间:2015-08-07 15:50:24

标签: jquery

我正在尝试列出特定标题中的表格单元格。

我传入一个表,然后我使用传入的索引来确定标题,这部分很好。问题是当我试图从这里获取细胞然后它不起作用。

var $tableCells = $table.eq(index).find('td')

如果我在缩小标题之前获取单元格,那么它可以正常工作:

var $tableCells = $table.find('td')

这很简单,但我是JQuery的新手。

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

你在:nth-child selector之后。可以像下面一样使用它来获取表格每行中的第n td个。

注意:与大多数javascript不同,传递给该选择器的索引是基于1的。所以nth-child(1)会得到第一个孩子。

var $table = $('table');
var index = 1;

var $tableCells = $table.find('tr td:nth-child(' + index + ')');
$tableCells.each(function(){
   alert($(this).html()); // alerts "row0 cell0" then "row1 cell0"
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<table>
  <tr>
    <td>row0 cell0</td>
    <td>row0 cell1</td>
    <td>row0 cell2</td>
  </tr>
  <tr>
    <td>row1 cell0</td>
    <td>row1 cell1</td>
    <td>row1 cell2</td>
  </tr>
</table>