0

我的代码

<table id="mytable">
<tr>
    <td>Text 5</td>
    <td>Other text 5</td>
    <td><input name="name5" value=""></td>
    <td><input type="checkbox" value="5" name="records"></td>
</tr>
<tr>
    <td>Text 7</td>
    <td>Other text 7</td>
    <td><input name="name7" value=""></td>
    <td><input type="checkbox" value="7" name="records"></td>
</tr>
<tr>
    <td>Text 13</td>
    <td>Other text 13</td>
    <td><input name="name13" value=""></td>
    <td><input type="checkbox" value="13" name="records"></td>
</tr>
</table>

获取中间输入复选框

$('#mytable input[type=checkbox][name=records][value=7]')

好的 :-)

现在,我怎样才能得到上一个输入()和下一个()输入?

我试试

$('#mytable input[type=checkbox][name=records][value=2]').prev('input[type=checkbox]')

对于上一个,但不起作用:-(

谢谢 :-)

4

1 回答 1

2

假设您在 中引用了该中间复选框,并且还假设每个元素checkbox只有一个复选框后代:tr

//Previous checkbox:
checkbox.closest("tr").prev().find(":checkbox");

//Next checkbox:
checkbox.closest("tr").next().find(":checkbox");

这使用 获取祖先tr元素.closest(),然后使用.prev()or.next()选择上一个或下一个tr,然后找到它的任何复选框后代。

还要注意:checkbox选择器的使用,它基本上是您当前使用的属性选择器的快捷方式。您可以使用其中任何一种,但属性选择器可能会更快一些,因为它是原生 CSS 选择器。

于 2012-09-04T16:59:49.697 回答