使用Jquery查找下一个textarea

sar*_*ake 6 javascript jquery dom

HTML

<tr id="rowId"><td><textarea class="inputTextarea"></textarea></td><td><textarea class="inputTextarea"></textarea></td></tr>
<tr id="rowId2"><td><textarea class="inputTextarea"></textarea></td><td><textarea class="inputTextarea"></textarea></td></tr>
<tr id="rowId3"><td><textarea class="inputTextarea"></textarea></td><td><textarea class="inputTextarea"></textarea></td></tr>
Run Code Online (Sandbox Code Playgroud)

如果我知道rowId,我如何从任何仲裁点开始在这个页面上找到下一个textarea.我不是指任何输入,只是textarea.我需要能够从任何行开始,然后继续前进到下一个textarea,基本上是沿着行向下行进.

编辑基于答案,我使用以下代码逐行遍历textareas:

var curElt = $('#' + startAt);  //startAt is the first row id   

        for(var i=1; i < 10; i++) {

            $(curElt).find('textarea').eq(0).val(i);
            $(curElt).find('textarea').eq(1).val(i+1);

            curElt = $(curElt).next();
        }
Run Code Online (Sandbox Code Playgroud)

Jac*_*kin 11

您可以使用nextfind方法:

$('#' + current_row_id).next().find('textarea').eq(0);
Run Code Online (Sandbox Code Playgroud)

next将获得下一个兄弟,然后find将找到集合中与传入的选择器匹配的所有元素,然后eq(0)将获取从返回的结果集中的第一个元素find.


Phr*_*ogz 5

$('#rowId2').find('textarea');
Run Code Online (Sandbox Code Playgroud)

那将找到这两行的孩子.如果你想要第一个,可以:

$('#rowId2').find('textarea').eq(0); //jQuery object
$('#rowId2').find('textarea')[0];    //DOM Element
Run Code Online (Sandbox Code Playgroud)

编辑:如果您只知道一行并想要在下一行中找到第一个textarea:

$('#rowId').next().find('textarea').eq(0);
Run Code Online (Sandbox Code Playgroud)

  • @gnomixa我不知道你的意思.您需要更清楚"下一步"的含义. (2认同)