使用children()后选择一个元素

时间:2013-09-26 14:17:03

标签: jquery jquery-selectors

我的选择器jQuery('.pa_availability-pin table tbody tr').children('td').eq(1); 返回<td>个对象 现在我想选择所选<input>

内的<td>元素

如何在一个声明中这样做?

2 个答案:

答案 0 :(得分:2)

只需将它们全部组合成1个选择器:

jQuery('.pa_availability-pin table tbody tr td:eq(1) input');

或使用.find()

jQuery('.pa_availability-pin table tbody tr').children('td').eq(1).find('input');

答案 1 :(得分:2)

jQuery('.pa_availability-pin table tbody tr > td:eq(1) > input');

但是,我们可以稍微优化一下。 table tbody tr td是多余的,因为中的每个元素必须包含在另一个元素中。您可以安全地将其减少到td

jQuery('.pa_availability-pin td:eq(1) > input'); // zero-based

>指定直接孩子,这就是你想要的。

此外,:eq isn't a CSS selector,所以要优化您的选择器使用:nth-child代替:

jQuery('.pa_availability-pin td:nth-child(2) > input'); // not zero-based

如果input周围有另一个元素(例如标签),只需从选择器中删除>