[英]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.