Jquery通过表循环查找具体的TD

时间:2013-03-06 20:56:35

标签: jquery html

我希望循环遍历表并为每个负值的TD着色。现在它为整行着色,我可以改变什么来修复它?

http://jsfiddle.net/LEnRj/

Jquery的

$('.my-table tr').each(function(index, tr) {
    var lines = $('td', tr).map(function(index, td) {
        return $(td).text();    
    });

    if( lines[1] < 0 ) {
         $(this).css('background-color', 'red');
    }   
});

3 个答案:

答案 0 :(得分:2)

老兄,这是jQuery,写得少做多了

$('.my-table td').filter(function() {
    return parseFloat($.trim(this.innerHTML)) < 0;
}).css('background-color', 'red');

Fixed Fiddle

答案 1 :(得分:1)

$('.my-table tr').each(function(index, tr) {
    var lines = $('td', tr).map(function(index, td) {
        if ( $(td).text() < 0 ) $(td).css('background-color', 'red')  #de  Fixed.
        return $(td).text();
    });
})

优化版本:

$('.my-table tr td').each(function(index, td) {
    if ( $(td).text() < 0 ) {
        $(td).css('background-color', 'red')
    }
})

答案 2 :(得分:0)

您已将css应用于<tr>。您只想将其应用于具有负值的<td>