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

如何在JavaScript中获取表格第n列的值?代码问题求助

解决jQuery获取表格第二列失败的问题

嘿,我一眼就发现你的问题所在啦!问题出在你用了nth(2)这个方法——jQuery里根本没有nth()这个API,而且就算是类似的选择器,索引计数规则也得注意!

问题根源拆解

  1. jQuery中获取指定索引元素的正确方法是eq(),而不是nth()。
  2. 更关键的是:jQuery的eq()方法是从0开始计数的,所以第二列对应的索引是1,而不是2。
  3. 如果你习惯了CSS的:nth-child()选择器,那它是从1开始计数的,也可以直接用这个选择器来定位。

修正后的代码方案

这里给你两种可行的修正方式:

方案1:使用eq(1)

$('body').on('click', '.confirmation1', function(e) {
    e.preventDefault();
    var produktNazwa = $(this).parents("tr").find("td").first().html();
    // 替换nth(2)为eq(1)
    var produktWaga = $(this).parents("tr").find("td").eq(1).html();
    console.log(produktNazwa, produktWaga);
});

方案2:使用CSS选择器:nth-child(2)

如果你更习惯从1开始计数的逻辑,也可以直接用这个选择器:

$('body').on('click', '.confirmation1', function(e) {
    e.preventDefault();
    var produktNazwa = $(this).parents("tr").find("td").first().html();
    // 使用:nth-child(2)选择第二列(从1开始计数)
    var produktWaga = $(this).parents("tr").find("td:nth-child(2)").html();
    console.log(produktNazwa, produktWaga);
});

额外小提示

如果你的表格里有隐藏列或者合并单元格,建议先确认DOM结构是否符合预期,可以用console.log($(this).parents("tr").find("td"))输出所有td元素,检查索引对应的是不是你要的列,避免因为DOM结构问题导致取值错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:51:48