You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何仅获取HTML表格每行的第一个td元素?jQuery问题求助

解决jQuery选中每行第一个td的问题

嘿,我明白你的困扰啦!你原来的jQuery选择器确实会把所有符合条件的<tr>下的所有<td>都选出来,所以达不到只取每行第一个<td>的效果。这里给你几个靠谱的解决方案:

方案一:使用:first-child伪类选择器

这是最直接的方式,通过伪类精准匹配每个<tr>下的第一个直接子<td>:

$('[id^="row_"] > td:first-child').each(function() {
  // 在这里处理每个行的第一个td元素
  console.log("第一个td的内容:", $(this).text());
});

解释一下:

  • [id^="row_"]:选中所有id以row_开头的<tr>元素
  • >:表示只选择<tr>的直接子元素(避免嵌套表格的干扰)
  • td:first-child:匹配每个父元素下的第一个<td>子元素

方案二:遍历<tr>后再获取第一个<td>

如果你更倾向于分步操作,可以先选中目标<tr>,再在每个<tr>里取第一个<td>:

$('[id^="row_"]').each(function() {
  const firstTd = $(this).children('td').first();
  // 对firstTd进行操作,比如获取内容
  console.log("第一个td的内容:", firstTd.text());
});

这种方式逻辑更清晰,也方便你在遍历<tr>时做其他额外操作。

为什么你的原代码不行?

你的原选择器$('[id^="row_"] > td ')会选中所有id以row_开头的<tr>下的所有直接子<td>,所以each会逐个遍历每个<td>(包括每行的第二个),自然不符合你的需求啦。

内容的提问来源于stack exchange,提问作者Polly

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:43:52