Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Изменения цвета текста в ячейке таблицы (https://javascript.ru/forum/misc/31857-izmeneniya-cveta-teksta-v-yachejjke-tablicy.html)

рони 18.12.2013 16:17

Ljubin,
id одинаковые?

рони 18.12.2013 16:22

Ljubin,
да и в ячейке у вас теги помимо числа

Ljubin 19.12.2013 16:15

Да - точно тег <p></p> мешал.

Но тепер одинаковый id = "num" проблема.
Который выводится у меня 32 раза.)))
И работает только первый в списке.

Надо бы написать другую функцию, где проходясь циклом FOR по всем ячейкам таблицы, проверять цифры и менять цвет взависимости от результата проверки.

Погуглил и нашёл функцию и как мог переделал...
Но она не работает после переделок.)))
Прошу спецов помоч.

Табличка
<body onload="Show();">

<table id="Table">
<tr>
<td>0</td>
<td>1</td>
</tr>
<tr>
<td>2</td>
<td>3</td>
</tr>
</table>

</body>

Функция.
function Show()
{
    var table = document.getElementById('Table');// id таблицы
    var trList= table.getElementsByTagName('tr');
  for (var i=0;i<trList.length;i++)
  {
    var tdList = trList[i].getElementsByTagName('td');
  
    for (j=0;j<tdList.length;j++) 
    {
      if(parseFloat(+tdList[j].innerHTML) !==0)// Если не ноль
      {
       +tdList[j].style.color = "red";
      }
      else
      {
        +tdList[j].style.color = "green";
      }
       if(parseFloat(+tdList[j].innerHTML) < 0)// Если меньше нуля
      {
       +tdList[j].style.color = "blue";
      }
    }
  } 
}

рони 19.12.2013 16:29

Ljubin,
изучайте селекторы и поиск элементов http://learn.javascript.ru/searching-elements-dom
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
</head>

<body>

<table>
<tr>
<td id = "num1"><p class = "text">2</p></td>
<td id = "num2"><p class = "text">0</p></td>
<td id = "num3"><p class = "text">2</p></td>
<td id = "num4"><p class = "text">2</p></td>
</tr>
</table>
<script>
 var p = document.querySelectorAll('td p');
 for (var i=0; i<p.length; i++)  {
   p[i].style.color = +p[i].innerHTML ? 'green' : 'red';
   }
</script>
</body>
</html>

Ljubin 19.12.2013 17:41

Да-а! Мощно...))
Буду учить - обязательно.
Спасибо.


Часовой пояс GMT +3, время: 16:01.