0

我想遍历表上的行,并且仅在column2单元格不包含值或空单元格时才执行更改背景颜色。这就是我现在拥有的,但我所有的行都是彩色的,我只需要在单元格column2为空时应用逻辑。

JS:

// loops through rows
for (var i = 0; rows; rows = tbody.rows[i]; i++) {
    //loops through cells
    for (var j = 1; col; col = rows.cells[j]; j++) {
        //gets cells of current row
        cells = rows[i].getElementsByTagName('td');
        //gets cells of col 1
        ocells = rows.cells[j].getElementByTagName('td');

        while (rows.cells[j] === null) {
            //condition here>>
        }
    }
}

HTML:

<div id="table">
    <table name="tbody" id="tbody1">
        <tr> 
            <td>col1 Val1</td>
            <td>col2 Val2</td>
        </tr>
        <tr>
            <td>col1 Val3</td>
            <td>col2 Val4</td>
        </tr>
    </table>
</div>

任何帮助,将不胜感激!

4

2 回答 2

0

我会重新考虑循环遍历所有内容以执行此操作的必要性:

如果您制作了表格(或已生成表格),请为第 2 列中的每个单元格添加一个类。

我们称这个类为:“column-2-cell”

现在使用 jQuery:

$('.column-2-cell:empty').addClass('empty');

看到这个小提琴:http: //jsfiddle.net/Ubz6w/

或者,您也可以将其与 jQuery 一起使用:

$('tr').each(function(i) {
    var column2cell = $($(this).children('td')[1]);
    if (column2cell.text() == "") {
        column2cell.css('background-color', 'red');        
    }
});

看到这个小提琴:http: //jsfiddle.net/Ubz6w/1

希望这可以帮助!

于 2013-01-22T16:57:40.067 回答
0

就用这个。column如果第二个为空,这将设置第二个的背景。

var tbody = document.getElementsByName("tbody")[0];

for (var i = 0, rows; rows = tbody.rows[i]; i++) {
    if(rows.cells[1].innerHTML == "") {
        rows.cells[1].className += "highlight";
    }
}

现场演示

于 2013-01-22T18:49:17.010 回答