jQuery内部的jQuery函数都没有按预期工作

jQuery function inside jQuery each not working as expected

本文关键字:jQuery 工作 内部 函数      更新时间:2023-09-26

下面的代码抛出一个错误:

  • Uncaught TypeError: Cannot set property 'background' of undefined
$(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颜色但是我有上面指定的错误

尝试:

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

ie。assignColor的第二个参数应该是DOM元素,而不是DOM元素周围的jQuery包装器。