jQuery中的jQuery函数每个都没有按预期工作

时间:2014-06-20 12:20:33

标签: javascript jquery html

以下代码会引发错误:

  • 未捕获的TypeError:无法设置未定义的属性“background”
$(document).ready(function(){
    function assignColor(value, el){
        if(value < 10){
            el.style.background = "#CCC"
        } else if(value < 30){
            el.style.background = "#333"
        } else if(value < 100){
            el.style.background = "red"
        }
    };

    $('table .day_1 td').each(function() {
        console.log($(this));
        assignColor($(this).html(), $(this));
    });
});

我有一个包含8行的表格,如下所示:

        <tr class="day_1">
            <td class="first">Wed 5</td>
            <td>45</td>
            <td>01</td>
            <td>454</td>
            <td>03</td>
            <td>04</td>
            <td>22</td>
            <td>06</td>
            <td>07</td>
            <td>08</td>
            <td>09</td>
            <td>10</td>
            <td>11</td>
            <td>12</td>
            <td>13</td>
            <td>14</td>
            <td>15</td>
            <td>16</td>
            <td>23</td>
            <td>18</td>
            <td>19</td>
            <td>56</td>
            <td>21</td>
            <td>22</td>
            <td>23</td>
            <td>2564</td>
        </tr>

并根据每个td里面的值,我想指定一个不同的bg颜色,但我有上面指定的错误

1 个答案:

答案 0 :(得分:4)

尝试:

assignColor($(this).html(), this);

即。 assignColor的第二个arg应该是一个DOM元素,而不是一个围绕DOM元素的jQuery包装。