У меня есть следующий код:
$("table.altRow tr:visible").each(function (index) {
if (index % 2) {
$(this).addClass("oddColor");
} else {
$(this).addClass("evenColor");
}
});
но теперь мне нужно запустить этот код для некоторых таблиц отдельно в цикле (вы можете игнорировать, почему я делаю это для этого вопроса, поскольку мой вопрос больше связан с синтаксисом). Поэтому я хочу иметь что-то вроде этого:
$("table.altRow").each(function () {
$(this + " tr:visible").each(function (index) {
if (index % 2) {
$(this).addClass("oddColor");
} else {
$(this).addClass("evenColor");
}
});
});
проблема с приведенным выше кодом - это строка:
$(this + " tr:visible")
Я пытаюсь понять, как написать select, который представляет эту таблицу в цикле, но конкатенация "tr: visible" после него. Какой правильный синтаксис для этого?
изменение
$(this + " tr:visible")
в
$("tr:visible", this)
используя контекст, или просто
$(this).find("tr:visible")
Вы должны использовать CSS для применения стиля строк вместо синтаксического анализа JQuery
tr:nth-child(even) {
background-color: #000000;
}
tr:nth-child(odd) {
background-color: #FF0000;
}
:visible
, он не будет работать правильно, если некоторые элементы не видны.