1

特定の列を持つテーブルがあり、セルには "R" 、 "N" または "Y" のみが含まれています。上記の値のいずれかに基づいて行に色を付けたいと思います。どんなアドバイスも役に立ちます

これが私が持っているものですが、行の色を変更していません

  var rows = document.getElementById("trans_separate").getElementsByTagName("tbody")
  [0].getElementsByTagName("tr");

    // loops through each row
    for (i = 0; i < rows.length; i++) {cells = rows[i].getElementsByTagName('td');

            if (cells[14].innerText == R)
                rows[i].className = "red";

            else if (cells[14].innerText == Y)
                rows[i].className = "Yellow";

            else if (cells[1].innerText == N)
                null

 }
4

2 に答える 2

0

Ubuntu 上の Firefox で動作: jsfiddle

ps である必要がありelse-ifます。内部のテキストが である場合、'R'を評価するべきではありません'Y'

var rows = document.getElementById("trans_separate").getElementsByTagName("tbody")[0].getElementsByTagName("tr");

for (i = 0; i < rows.length; i++) {
    row = rows[i].getElementsByTagName('td');
    var cell = getText(row[0]);
    if (cell === 'R') rows[i].className = "red";
    else if (cell === 'Y') rows[i].className = "yellow";
}

function getText(cell) {
    return (cell.innerText == undefined) ? cell.textContent : cell.innerText;
}
于 2013-03-19T21:46:31.353 に答える
-1

作業例:

var rows = document.getElementById("trans_separate").getElementsByTagName("tbody")
  [0].getElementsByTagName("tr");

    // loops through each row
    for (i = 0; i < rows.length; i++) {cells = rows[i].getElementsByTagName('td');

            if (cells[0].innerHTML == 'R')
                rows[i].className = "red";

            if (cells[0].innerHTML == 'Y')
                rows[i].className = "yellow";           
 }

http://jsfiddle.net/mMFwQ/4/

于 2013-03-19T21:33:27.370 に答える