Изменения цвета текста в ячейке таблицы
Здравствуйте!
Хочу изменить цвет текста в нескольких ячейках таблицы при помощи js. прочитал про dom и попытался сделать что-то такое: table.rows.item(1).cells.item(1).style.color но конечно же ничего не вышло (= как быть? |
Надо например, так: table.rows[3].style.backgroundColor = "red";
|
Или так: table.rows[4].cells[2].style.backgroundColor = 'blue';
|
Цитата:
|
eirnvn,
Поправте мой вариант пожалуста. Вот табличка. <body onload="Red();"> <table> <tr><td id = "red_num">100</td></tr> </table> </body> Функция. function Red() { color_num = document.getElementById("red_num").innerHTML;// получает цифру из ячейки таблицы if(color_num !=0) { document.getElementById("red_num").style.backgroundColor = "#FF0000";// Меняет цвет фона ячейки } } Надо бы, чтобы менялся цвет цифры 100, а не фона ячейки. И ещё, чтобы переменная color_num - строго не ровнялась нулю. При таком варианте (color_num !==0) функция почему-то вообще не работает. p.s. Если можно, дайте ссылку, где об этом можно почитать подробнее. Только не на справочник по JS. Заранее спасибо. |
Цитата:
Цитата:
|
Цитата:
|
Разобрался...
Но, это работает если значение в ячейке статичное. function Red() { color_num = parseFloat(document.getElementById("red_num").innerHTML);// Преобразовует строку в число if(num !==0) { document.getElementById("red_num").style.color = "red";// Меняет чвет чила на красный } else { document.getElementById("red_num").style.color = "green";// Меняет чвет чила на зелёный { } А, у меня значение выводится вот так. <body onload="Red();"> <table> <tr><td id = "red_num"><?=$item['schet'];?></td></tr>// Число выводится из массива циклом PHP </table> </body> И остаётся всё время красным.!?!? |
Ljubin, так у Вы уже определитесь, color_num или num? У Вас в if - num, но такой переменной нет.
function red() { var elem = document.getElementById('red_num'); elem.style.color = +elem.innerHTML ? 'green' : 'red'; } |
Запутался...
У себя я поменял названия переменных, а тут нет, ну чтоб... Короче, давайтека ещё раз. Таблица. <body onload="Show();"> <table> <?php foreach($card_pay_list as $item):?> <tr> <td><p class = "text"><?=$item['renta'];?></p></td> <td id = "num"><p class = "text"><?=$item['schet'];?></p></td>// Число выводится из массива циклом foreach PHP </tr> <?php endforeach;?> </table> </body> Стили CSS. div#content p.text{/*текст в таблицах*/ font-family:sans-serif; font-style:normal; font-size:18px; }Функция работает если цифру указать явно. Если её вывести так как в примере выше, то цифра всегда красная. function Show() { elem = parseFloat(document.getElementById("num").innerHTML);// Преобразовует строку в число if(elem !==0) { document.getElementById("num").style.color = "red";// Меняет чвет числа на красный } else { document.getElementById("num").style.color = "green";// Меняет чвет числа на зелёный } } Использовал эту функцию, результат тотже. Цифра всегда красдная. function Show() { var elem = document.getElementById('num'); elem.style.color = +elem.innerHTML ? 'green' : 'red'; } |
Часовой пояс GMT +3, время: 06:47. |