在JQuery中,如何获取相邻的表格单元格?

时间:2010-10-12 13:41:56

标签: javascript jquery

我有一个包含多行的表,每行包含三个单元格。每个单元格都包含一个文本框,所以它看起来像这样:

XXXX   XXXX   XXXX

在第一个文本框的keyup事件中,我希望将其内容复制到第二个文本框中,而不是第三个文本框。

我的keyup事件我可以获得对第一个文本框的引用。做.parent()会给我单元格,如果我想,再做.parent()会给我一行。

我可以用什么JQuery来获取相邻的文本框?

3 个答案:

答案 0 :(得分:32)

你可以使用.next()来获得下一个兄弟姐妹,如下所示:

var nextTD = $(this).closest("td").next();
//for your case:
$(this).closest("td").next().find("input").val($(this).val());

.parent()也有效,.closest()只是更灵活一点,因为你可以改变你的标记,它仍然会转到最近的<td>父母。

答案 1 :(得分:3)

.parent() <td>开始,使用next()转到下一个<td>,然后.children('input')获取子<input>元素。

所以你最终会在keyup处理程序中找到类似的东西。

$(this).parent().next().children('input').val( this.value );

答案 2 :(得分:0)

尝试next()功能。这将选择所选元素的下一个兄弟。