如何使用JQuery或Vanilla JavaScript根据行id和th名称/索引替换“td”元素中的文本?

mbjcgjjk  于 2023-10-17  发布在  jQuery
关注(0)|答案(2)|浏览(96)

以下是我目前的数据:

<tr id="1">
<th>Name</th>
<td>John</td>
<th>Country</th>
<td>US</td>
</tr>

我尝试了以下方法:

let rowID = 1;
let columnTitle = "Country";
$('#'+rowID+' td:eq('+columnTitle+')').html("Japan");

以下是我的期望:

<tr id="1">
<th>Name</th>
<td>John</td>
<th>Country</th>
<td>Japan</td>
</tr>
jckbn6z7

jckbn6z71#

因为你想修改包含countryth之后的下一个td HTML,你需要像下面这样修改你的代码:

$("#" + rowID + ' th:contains(' + columnName + ')').next('td').html("Japan");

工作样品:

let rowID = 1;
let columnName = "Country";

$("#" + rowID + ' th:contains(' + columnName + ')').next('td').html("Japan");
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
  <tr id="1">
    <th>Name</th>
    <td>John</td>
    <th>Country</th>
    <td>US</td>
  </tr>
</table>
kb5ga3dv

kb5ga3dv2#

使用jQuery,你可以这样做:

let rowID = 1;
let columnName = "Country";

// and the fun part is here
$(`#${rowID} th:contains('${columnName}')`).next('td').text("Japan");

相关问题