我的选择器现在jQuery('.pa_availability-pin table tbody tr').children('td').eq(1);
返回一个<td>
对象我想选择<input>
这个选定的元素<td>
如何在一个声明中做到这一点?
我的选择器现在jQuery('.pa_availability-pin table tbody tr').children('td').eq(1);
返回一个<td>
对象我想选择<input>
这个选定的元素<td>
如何在一个声明中做到这一点?
只需将它们全部组合到 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');
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
Where>
指定一个直接的孩子,这是你似乎想要的。
此外,:eq
它不是 CSS 选择器,因此要优化您的选择器,请:nth-child
改用:
jQuery('.pa_availability-pin td:nth-child(2) > input'); // not zero-based
如果您的周围有另一个元素input
(例如标签),只需>
从选择器中删除 。