Javascript 将焦点设置为表中的下一个输入字段

Javascript 将焦点设置为表中的下一个输入字段,javascript,jquery,Javascript,Jquery,我想通过按enter来集中表格字段中的下一个输入。 该表如下所示: <table> <tbody> <tr> <td>Title 1</td> <td><input type="number"></td> <td>Unit</td> </tr>

我想通过按
enter
来集中表格字段中的下一个输入。 该表如下所示:

<table>
    <tbody>
        <tr>
            <td>Title 1</td>
            <td><input type="number"></td>
            <td>Unit</td>
        </tr>
        <tr>
            <td>Title 2</td>
            <td><input type="number"></td>
            <td>Unit</td>
        </tr>
        <tr class="group">
            <td colspan="3"></td>
        </tr>
        <tr>
            <td>Title 3</td>
            <td><input type="number"></td>
            <td>Unit</td>
        </tr>
        <tr class="group">
            <td colspan="3"></td>
        </tr>
        <tr>
            <td>Title 4</td>
            <td><input type="number"></td>
            <td>Unit</td>
        </tr>
    </tbody>
</table>
这是第一个领域的工作。下一个输入字段将被聚焦。但我无法聚焦第三个输入字段

'change input[type="number"]': (event) => {
    $(event.target).closest('tr').next(':not(.group)').find('input').focus();
}
我也试过了

'change input[type="number"]': (event) => {
    $(event.target).closest('tr').siblings(':not(.group)').find('input').focus();
}

但是焦点被设置到最后一个输入字段,我不明白为什么。

问题是jQuery的
next()
只查看下一个同级,而不是所有后续同级。您需要的是
nextAll()


问题是jQuery的
next()
只查看下一个同级,而不是所有后续同级。您需要的是
nextAll()


只是在这篇文章中遗漏了。很抱歉,这篇文章没有提到这一点。很抱歉,因为它将同时选择上一个和下一个同级。您将
focus()。我用这个代码笔解决了这个问题,并留下了一条注释,说明了
.sibbins()
的情况:感谢您的解释。因为它将同时选择以前和以后的同级。您将
focus()。我用这个代码笔解决了这个问题,并留下了一条注释,说明了
.sibbins()
的情况:感谢您的解释。
$(event.target)
    .closest('tr')
    .nextAll('tr:not(.group)')
    .first()
    .find('input')
    .focus();