循环遍历表行

Posted

技术标签:

【中文标题】循环遍历表行【英文标题】:looping through table rows 【发布时间】:2011-07-19 22:03:31 【问题描述】:

我正在寻找遍历表格的行并检查它们的背景颜色。这是我目前所拥有的:

var TheColor = "";

$('#MyTable tr').each(function () 
    TheColor = "";
    TheColor = $(this).attr('background-color');
    alert(TheColor);
);

当循环展开时,我得到的只是“未定义”,我不明白为什么。但是,当我写 TheColor = $(this).html();我得到了预期的输出。

感谢您的建议。

【问题讨论】:

你的“tr”真的有“背景颜色”属性吗?您可能应该查看具有该属性的样式属性。 【参考方案1】:

你需要像这样选择它:

$(this).css('background-color');

因为您要查找的属性实际上是一个样式属性 (style="background-color: red")。

【讨论】:

确实如此。 background-color 不是tr 元素的属性,它是一条样式信息。 @frenchie:更多:api.jquery.com/css/#css1 好的,这行得通。但是,它以 rgb(...) 的形式返回值。你知道为什么它没有返回 #FDFEGG 格式的数据吗? 见:***.com/questions/638948/…【参考方案2】:
$('#MyTable tr').map(function(item) return item.css('background-color'); )

这将返回一个背景颜色数组,数组中的每个元素都代表表格中的背景颜色。

【讨论】:

以上是关于循环遍历表行的主要内容,如果未能解决你的问题,请参考以下文章

循环遍历具有数据属性的表行

如果选中复选框,则循环遍历表行并返回列值[重复]

JQuery追加到表行的末尾而不是Tbody?

Razor 查看动态表行

循环删除单个表行

django模板循环一些表行只显示一次