Сортировщик стола - зачистка зебры
Я использую этот сортировщик стола с зачисткой зебры. Я работаю сортировки с опциями выпадающего меню. У меня есть две проблемы с этим.
1) У меня есть строки, окрашенные в серый и белый цвета поочередно. Но у меня есть несколько специальных рядов с всегда серым цветом.
предположим, что если это нормальный случай, у меня будет серый, белый, серый порядок.
Теперь предположим, что белый ряд в вышеприведенном виде - это особый ряд, о котором я говорю. тогда это будет серый. так что теперь у нас есть три серых ряда вместо серо-белого серого.
Есть ли какой-нибудь способ, которым зебра-виджет может со знанием дела заметить, что, поскольку предыдущий является специальной строкой (всегда серой), он должен сделать текущую строку белым.
1 ответ
Рассмотрим следующий код ( http://jsfiddle.net/cqN5W/):
var tables = document.getElementsByTagName("table");
var i;
for (i in tables) {
if (tables.hasOwnProperty(i) && typeof tables[i] === "object") {
var rows = tables[i].getElementsByTagName("tr");
var counter = 0;
var j;
for (j in rows) {
if (rows.hasOwnProperty(j)) {
if (rows[j].className.indexOf("gray") === -1) {
counter++;
}
if (counter % 2) {
rows[j].className += " gray";
}
}
}
}
}
Он будет помнить, какие строки были явно помечены как "серые", и будет учитывать их в своей окраске.