Javascript jQuery从最近的方法中查找第一行

Javascript jQuery从最近的方法中查找第一行,javascript,jquery,Javascript,Jquery,使用jQuery,我试图根据具有焦点的控件查找表中给定列的第一行。下面的类型可以工作,但它可以找到给定列的最后一行。我想让它找到第一排 var $next= $('input:focus').closest('table').find('td:nth-child(3)').find('input') 我相信这将是最后一行,因为使用了从底部开始遍历元素的“closest()”方法 最终使用它的目的是使用箭头键在表中导航。它基于以下有用的代码,有人很友好地分享了: 编辑:根据请求添加额外的full

使用jQuery,我试图根据具有焦点的控件查找表中给定列的第一行。下面的类型可以工作,但它可以找到给定列的最后一行。我想让它找到第一排

var $next= $('input:focus').closest('table').find('td:nth-child(3)').find('input')
我相信这将是最后一行,因为使用了从底部开始遍历元素的“closest()”方法

最终使用它的目的是使用箭头键在表中导航。它基于以下有用的代码,有人很友好地分享了:

编辑:根据请求添加额外的fuller jquery和html

jQuery(精简版):


$('table.arrow nav')。向下键(函数(e){
开关(e.which){
case/…其他密钥码的其他case。。。
案例e.ctrlKey和&38://+
$next=$('input:focus')。最近的('tr')。父().find('tr:first”).find('td:nth child(3)')。find('input');
打破
}
如果($next&&$next.length){
$next.focus();
}
});
HTML:


身份证件
名称
年龄
性别
像这样试试

$('input:focus').closest('tr').parent().find("tr:nth-child(2)").find('td:nth-child(3)').find('input')

您可以使用ID来引用每一行:

$(函数(){
$('input')。关于('focus',函数(事件){
var foc=$(this.attr('id');
var ctl=parseInt(foc.charAt(6),10);
var next=$('tr')[ctl];
如果(next===$('tr')[2]){
next=$('tr')[0];
}
console.log('聚焦输入为'+foc);
log('下一行是'+(ctl+1));
});
});

下一排
身份证件
名称
年龄
性别

您能提供您正在使用的html吗?我试图查找给定列的第一行是什么意思。。。?行可以说有单元格/列,但反之亦然!按照要求,清楚地说明你的意思会很有帮助。我添加了更多的html。另外,作为对PeterKA的回应,另一种说法是我正在寻找给定列中的第一个单元格。使用上面添加的示例,假设“ctl_3_3”具有焦点(我在第3行第3列忽略了标题)。我希望能够找到包含“ctrl\u 3\u 1”的单元格。给定列中的第一个单元格/行。谢谢。那对我不起作用。我会添加我更完整的html来回应其他评论。啊哈!看看你编辑过的答案,我现在明白了为什么我所尝试的不起作用了。我正在查找第一个“tr”或行,但是。。。我的第一行是标题行,里面有“th”,没有“td”。所以,它没有在那一行找到我要找的单元格(加上那一行没有任何CTRL)。谢谢
<html>
<head></head>
<body>
    <table class="arrow-nav" border="1" cellpadding="2" cellspacing="2">
    <tr>
        <th>ID</th>
        <th>Name</th>
        <th>Age</th>
        <th>Gender</th>
    </tr>
    <tr>
        <td><input id="ctl_1_1" type="text"></td>
        <td><input id="ctl_2_1" type="text"></td>
        <td><input id="ctl_3_1" type="text"></td>
        <td><input id="ctl_4_1" type="text"></td>
    </tr>
    <tr>
        <td><input id="ctl_1_2" type="text"></td>
        <td><input id="ctl_2_2" type="text"></td>
        <td><input id="ctl_3_2" type="text"></td>
        <td><input id="ctl_4_2" type="text"></td>
    </tr>
    <tr>
        <td><input id="ctl_1_3" type="text"></td>
        <td><input id="ctl_2_3" type="text"></td>
        <td><input id="ctl_3_3" type="text"></td>
        <td><input id="ctl_4_3" type="text"></td>
    </tr>
</table>
</body>
<html>
$('input:focus').closest('tr').parent().find("tr:nth-child(2)").find('td:nth-child(3)').find('input')