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

如何让jQuery仅对父表格直接子行着色?避免子表格行干扰

解决父表格奇数行着色误包含子表格行的问题

你只需要用直接子元素选择器(>)来限定只选中#table_id的直接子级<tr>(注意HTML中表格行默认会被浏览器自动包裹在<tbody>标签里,所以更准确的写法是选中<tbody>的直接子<tr>),修改着色代码即可:

$('#table_id > tbody > tr:odd').addClass("some_color_class");

原问题原因

原来的$('#table_id tr:odd')会匹配#table_id下所有层级的<tr>元素,包括子表格里的行,导致奇偶计数混乱,最终出现父表格相邻行颜色相同的问题。而直接子选择器>只会选择指定元素的直接子节点,不会深入到子表格内部,这样就能精准只对父表格的行进行奇偶着色。

修改后的完整代码示例

var table = $('#table_id');
var row;

for (i in data) { // 伪代码
    row = $('<tr>');

    // 添加常规单元格
    row.append( $("<td>").text(other_data) );

    // 添加子表格
    row.append( $("<td>").html(sub_table) );

    // 将行添加到表格
    table.append(row);
}

// 仅对父表格的直接子行进行奇数行着色
$('#table_id > tbody > tr:odd').addClass("some_color_class");

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 09:22:03