jQuery - 查找具有特定子项的下一个元素

时间:2023-02-04 20:35:28

Lets say I have something like this:

让我们说我有这样的事情:

<tr>
<td><input type="text" /></td>
<td>Somevalue</td>
<td><intput type="text /></td>
</tr>

I am in the event handler for a keypress in the first text box. I want to find the next td which has a text box in it if it exists using jQuery.

我在第一个文本框中的按键事件处理程序中。我想找到下一个td,如果它存在于使用jQuery,其中有一个文本框。

3 个解决方案

#1


6  

Something like this should work (assuming this is the input).

像这样的东西应该工作(假设这是输入)。

var next = $(this).parent().next("td > input[type='text']");

#2


0  

tj111's answer does not work for me. May be that is because of newer version of jQuery. I came up with this:

tj111的答案对我不起作用。可能是因为更新版本的jQuery。我想出了这个:

var next = $(this).parent().nextAll().has("input[type='text']").first();

#3


-1  

I don't know what is your selector, but if you need to select all inputs (type text). You can try this.

我不知道你的选择器是什么,但如果你需要选择所有输入(类型文本)。你可以试试这个。

$(function(){ 

    $(':input').each(function(){
        $(this).keypress(function(){
          $(this).next('input[type=text]').val('I\'m the next');
     }) // end of keypress
    }) // enf of each
}) // End of function

So, do not matter where you put more inputs, you can always take them.

所以,无论你输入更多的输入,你都可以随时拿走它们。

#1


6  

Something like this should work (assuming this is the input).

像这样的东西应该工作(假设这是输入)。

var next = $(this).parent().next("td > input[type='text']");

#2


0  

tj111's answer does not work for me. May be that is because of newer version of jQuery. I came up with this:

tj111的答案对我不起作用。可能是因为更新版本的jQuery。我想出了这个:

var next = $(this).parent().nextAll().has("input[type='text']").first();

#3


-1  

I don't know what is your selector, but if you need to select all inputs (type text). You can try this.

我不知道你的选择器是什么,但如果你需要选择所有输入(类型文本)。你可以试试这个。

$(function(){ 

    $(':input').each(function(){
        $(this).keypress(function(){
          $(this).next('input[type=text]').val('I\'m the next');
     }) // end of keypress
    }) // enf of each
}) // End of function

So, do not matter where you put more inputs, you can always take them.

所以,无论你输入更多的输入,你都可以随时拿走它们。