Заливка строк таблицы
Привет, задача следующая, нужно залить строки таблицы в зависимости от значений первого столбца. Значение в первом столбце могут быть разными, и мы их не знаем.
Должно получиться так: ![]() <table> <tr><td>111</td><td>fsdfwe</td><td>asfasfasf</td></tr> <tr><td>111</td><td>dfgdfg</td><td>asdfasfsfd</td></tr> <tr><td>fff</td><td>fsdfwe</td><td>asfasfasf</td></tr> <tr><td>111</td><td>fdsfsdf</td><td>kjhkhjk</td></tr> <tr><td>fff</td><td>fsdfwe</td><td>asfasfasf</td></tr> <tr><td>fff</td><td>6hy56</td><td>h56h56</td></tr> <tr><td>ttt</td><td>6hy56</td><td>h56h56</td></tr> <tr><td>ttt</td><td>ytutyu</td><td>32r23r</td></tr> </table> |
Цитата:
|
Цитата:
|
Заливка строк таблицы
Sav2907,
<!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> </style> <script> window.addEventListener("DOMContentLoaded", function() { var d = document.querySelectorAll("tr td:nth-child(1)"); var bgcolors = new Array("#F9B28C", "#9BC1EA", "#FEFF03"); function r() { return Math.round(255 * Math.random()) } [].reduce.call(d, function(b, c) { var a = c.textContent, a = b[a] || (b[a] = bgcolors.pop() || "rgb(" + r() + ", " + r() + ", " + r() + ")"); c.parentNode.style.backgroundColor = a; return b }, {}) }); </script> </head> <body> <table> <tr><td>111</td><td>fsdfwe</td><td>asfasfasf</td></tr> <tr><td>111</td><td>dfgdfg</td><td>asdfasfsfd</td></tr> <tr><td>fff</td><td>fsdfwe</td><td>asfasfasf</td></tr> <tr><td>111</td><td>fdsfsdf</td><td>kjhkhjk</td></tr> <tr><td>fff</td><td>fsdfwe</td><td>asfasfasf</td></tr> <tr><td>fff</td><td>6hy56</td><td>h56h56</td></tr> <tr><td>ttt</td><td>6hy56</td><td>h56h56</td></tr> <tr><td>ttt</td><td>ytutyu</td><td>32r23r</td></tr> </table> </body> </html> |
Цитата:
|
Рони, можете рассказать как это работает?
|
Рони, интересует как подставить свои цвета
|
Sav2907,
цикл по первых ячейкам, содержимое ячейки уникальный ключ, если в обьекте нет такого ключа, генерируется новый цвет -- согласно значению данного ключа родителю(tr) присваивается это значение. всё. |
Цитата:
|
Sav2907,
смотрите пример снова |
Часовой пояс GMT +3, время: 09:06. |