Заливка строк таблицы
Привет, задача следующая, нужно залить строки таблицы в зависимости от значений первого столбца. Значение в первом столбце могут быть разными, и мы их не знаем.
Должно получиться так: ![]() <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, время: 20:36. |