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

jQuery遍历表格获取选中复选框邻近span文本的代码问题排查

代码错误说明

你获取不到span文本的核心问题是DOM查找逻辑不符合实际结构:

  • 代码里用$(this).find('.CellComment')做查询,但jQuery的find()只会检索当前元素的后代节点
  • 对照HTML结构,class="CellComment"的span和复选框input是同级元素,共同放在class="CellWithComment"的td容器下,不是input的子元素,所以查询永远返回空,自然拿不到文本。
修正方案

只需要调整查找路径,先定位到复选框所在的父td,再检索内部的CellComment元素即可,修正后的完整代码:

$('.stChange').on('change', function () 
{ 
    var st = $(this).val();
    var vls = st.split('-');

    if( vls[0] == 0){
        console.log('0',st);
        $(this).closest('tr').find('input[type=checkbox]:checked').each(function(){
            // 先定位到复选框所属的td,再找内部的注释span
            console.log($(this).closest('td.CellWithComment').find('.CellComment').text());  
        });
    }
    if( vls[0] == 2){
        // 此处可补充状态为logout时的逻辑
    }
});
更简便的写法

因为目标span是复选框的同级元素,也可以直接用siblings()方法匹配,不需要向上找父级:

// 替换原查找语句即可
console.log($(this).siblings('.CellComment').text());

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 19:33:23