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

これを使うだけです。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 に答える
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 に答える