【问题标题】:How to access td from tr with id Jquery如何使用 id Jquery 从 tr 访问 td
【发布时间】:2016-12-23 18:39:29
【问题描述】:

我的 tr 有 id 和两列 (tds) 我想通过这样做动态地更改第二个 td html:

$("#value_"+ control_id+":nth-child(2)").html(type_id_name);

但它会擦除所有 tds 并将 html 插入到列中。

这是表结构

<tr id="value_486">
  <td></td>
  <td></td>
<tr>

我尝试了不同的方法

$("#tableID tr#value_"+ control_id+":nth-child(2)").html(type_id_name);

但它也不起作用。

【问题讨论】:

  • 您将:nth-child(2) 添加到主选择器。这是不正确的。它需要从id 下降。您的选择器定位到第二个 tr,它不存在。

标签: javascript jquery html jquery-selectors


【解决方案1】:

您需要在:nth-child 之前提供一个空格或td。空格表示子选择器或后代选择器:

$("#tableID tr#value_"+ control_id+" :nth-child(2)").html(type_id_name);
$("#tableID tr#value_"+ control_id+" td:nth-child(2)").html(type_id_name);

您当前的没有空格:

$("#tableID tr#value_"+ control_id+":nth-child(2)").html(type_id_name);

选择不存在的&lt;tr&gt; 的第二个实例!

$(function () {
  var control_id = 486;
  var type_id_name = "Praveen";
  $("#tableID tr#value_"+ control_id+" :nth-child(2)").html(type_id_name);
  $("#tableID tr#value_"+ control_id+" td:nth-child(2)").html(type_id_name);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id="tableID">
  <tr id="value_486">
    <td></td>
    <td></td>
  <tr>
</table>

是的,当您使用 #id 进行选择时,您不需要两个 #id 选择器。你的第一种风格很有效。

【讨论】:

  • 不需要选择器的table 或tr 部分。
  • @charlietfl 见最后一行...:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-03-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多