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>
如果我知道rowId,我如何从任何仲裁点开始在此页面上找到下一个textarea。我不是指任何输入,只是textarea。我需要能够在任何行开始,然后继续前进到下一个文本区域,基本上是沿着行进行。
EDIT 基于答案,我使用以下代码逐行遍历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();
}
答案 0 :(得分:11)
$('#' + current_row_id).next().find('textarea').eq(0);
next
将获得下一个兄弟,然后find
将找到集合中与传入选择器匹配的所有元素,然后eq(0)
将获取结果集中的第一个元素从find
返回。
答案 1 :(得分:5)
$('#rowId2').find('textarea');
这将找到该行的两个孩子。如果你想要第一个,可以:
$('#rowId2').find('textarea').eq(0); //jQuery object
$('#rowId2').find('textarea')[0]; //DOM Element
修改:如果您只知道一行,并希望在下一行找到第一个textarea:
$('#rowId').next().find('textarea').eq(0);
答案 2 :(得分:4)
$textarea = $('#rowId textarea').eq(0);
$nextarea = $textarea.closest('tr').next().find('textarea').eq(0);
为了澄清,$ .fn.next()在DOM中找到下一个兄弟。
答案 3 :(得分:1)
试试这个:
$("#rowID textarea:first-child").val()