簡體   English   中英

使用Jquery查找下一個textarea

[英]Find the next textarea using Jquery

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。 我需要能夠從任何行開始,然后繼續前進到下一個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();
        }

您可以使用nextfind方法:

$('#' + current_row_id).next().find('textarea').eq(0);

next將獲得下一個兄弟,然后find將找到集合中與傳入的選擇器匹配的所有元素,然后eq(0)將獲取從find返回的結果集合中的第一個元素。

$('#rowId2').find('textarea');

那將找到這兩個孩子。 如果你想要第一個,可以:

$('#rowId2').find('textarea').eq(0); //jQuery object
$('#rowId2').find('textarea')[0];    //DOM Element

編輯 :如果您只知道一行並想要在下一行中找到第一個textarea:

$('#rowId').next().find('textarea').eq(0);
$textarea = $('#rowId textarea').eq(0);

$nextarea = $textarea.closest('tr').next().find('textarea').eq(0);

為了澄清,$ .fn.next()找到了DOM中的下一個兄弟

  1. 從textarea開始,首先你必須找到它的parent-tr($ textarea.closest('tr'))。
  2. 從那里,使用旁邊找到下一個tr(.next())
  3. 最后,在 tr中找到第一個textarea(.find('textarea')。eq(0))

嘗試這個:

$("#rowID textarea:first-child").val()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM