簡體   English   中英

獲取連續表格單元格的值(JS 或 jQuery)

[英]Get the value of table cell in a row (JS or jQuery)

我有一張桌子,其中包含 50 個相同的

<tr>
    <td>#</td>
    <td>#</td>
    <td>123123</td>
</tr>
...

現在我可以像這樣獲取特定行的值

$("#tableId tbody tr").each(function(){
    var a = $(this).children();
    var arr =a[2].innerText; //get each row
    a[2].innerText = statename // get the third cell in each row
});

在這種情況下, statename是一個具有 50 個狀態名稱的對象。 我現在要做的就是將123123替換為對象內的每個狀態名稱。 所以它看起來像這樣:

<tr>
    <td>#</td>
    <td>#</td>
    <td>Alabama</td>
</tr>
<tr>
    <td>#</td>
    <td>#</td>
    <td>Alaska</td>
</tr>
<tr>
    <td>#</td>
    <td>#</td>
    <td>Arizona</td>
</tr>
...

我試圖在 jQuery 中循環,但沒有奏效。 請幫忙,非常感謝。

您可以嘗試將each方法與find方法一起使用,在選擇器名稱中,您可以通過td:last搜索最后一個<td>元素。 像這樣:

 var statenames = ['Alabama', 'Alaska', 'Arizona']; $("#tableId tbody tr").each(function(index){ $(this).find('td:last').text(statenames[index]); });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <table id="tableId"> <tbody> <tr> <td>#</td> <td>#</td> <td>123123</td> </tr> <tr> <td>#</td> <td>#</td> <td>123123</td> </tr> <tr> <td>#</td> <td>#</td> <td>123123</td> </tr> </tbody> </table>

通過使用 vanilla js,您可以輕松獲取 tr 中的最后一個 td 元素,遍歷它們並為節點分配新值

 const stateNames = ['Alabama', 'Alaska', 'Arizona']; document.querySelectorAll('tr td:last-child') .forEach((x, i) => x.textContent = stateNames[i])
 <table> <tr> <td>#</td> <td>#</td> <td>123123</td> </tr> <tr> <td>#</td> <td>#</td> <td>123123</td> </tr> <tr> <td>#</td> <td>#</td> <td>123123</td> </tr> </table>

確保您的變量statename是一個數組,並且不要忘記狀態的索引

// find elements
statename = ["Alabama", "Alaska", "Arizona"]
$("#tableId tbody tr").each(function(index){
    var a = $(this).children();
    var arr =a[2].innerText; //get each row
    a[2].innerText = statename[index] // get the third cell in each row
});

暫無
暫無

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

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