根据单元格内的值设置单元格的背景颜色

时间:2014-03-04 18:37:28

标签: jquery html css dynamic-tables

我有一个填充了随机数字的表格,我需要根据该单元格中的数字为rgba颜色设置每个单元格背景的颜色。现在,这些数字在刷新时会发生变化,因此如果数值发生变化,颜我怎么能这样做?谢谢!

HTML

<table class="table table-bordered">
<tbody>
    <tr>
        <td>636407029</td>
        <td>612541294</td>
        <td>870806031</td>
    </tr><tr>
        <td>110235053</td>
        <td>924102758</td>
        <td>221478283</td>
    </tr><tr>
        <td>572041102</td>
        <td>236316470</td>
        <td>781401130</td>
    </tr>
</tbody>
</table>

3 个答案:

答案 0 :(得分:1)

试试这个

$(".table-bordered td").each(function(){
$(this).attr("bgcolor",$(this).html());
});

fiddle

<强> HTML

<table>
<tbody>
<tr>
    <td bgcolor="636407029">636407029</td>
    <td>612541294</td>
    <td>870806031</td>
</tr><tr>
    <td>110235053</td>
    <td>924102758</td>
    <td>221478283</td>
</tr><tr>
    <td>572041102</td>
    <td>236316470</td>
    <td>781401130</td>
</tr>
</tbody>
 </table>

答案 1 :(得分:0)

您必须执行以下操作:

$("td").each(function () {
    var new_color = make_color_from_content($(this).text());
    $(this).css("background-color", new_color);
});

当然,您必须编写一些函数(make_color_from_content)将值从“636407029” - 例如 - 转换为“rgba(xxx,xxx,xxx,x)”。

答案 2 :(得分:0)

这应该有效 - 如果你编写的是transformNumberToColour函数。

$("td").each(function(){
    $element = $(this);
    val = Number($element.html());
    rgbColour = transformNumberToColour(val); // not shure how you want to do this
    $element.css('background-color', rgbColour);
});
相关问题