Лучший способ определить ровные/нечетные строки в таблице

Используйте HH вместо hh для часового шаблона :

H   Hour in day (0-23)  Number  0
k   Hour in day (1-24)  Number  24
K   Hour in am/pm (0-11)    Number  0
h   Hour in am/pm (1-12)    Number  12

7
задан n00bstackie 1 June 2009 в 18:46
поделиться

5 ответов

Попробуйте jQuery. Затем вы можете просто сделать это:

   $("#myTable tbody tr:visible:even",this).addClass("even"); 
   $("#myTable tbody tr:visible:odd",this).addClass("odd");

Селектор «: visible» на самом деле не нужен, но когда вы фильтруете таблицу, делая некоторые строки скрытыми, метод все равно будет работать правильно.

13
ответ дан 6 December 2019 в 05:08
поделиться

Для этого можно использовать правила n-го потомка (четное) и (нечетное). К сожалению, и это неудивительно, IE6 не поддерживает это. Итак, у вас есть несколько вариантов:

A) Использовать Javascript, с очевидным недостатком, заключающимся в том, что он не работает для людей с отключенным JS:

var rows = document.getElementById('mytable').getElementsByTagName('tr');
for(var x = 0; x < rows.length; x++) {
    rows[x].className = (x % 2 == 0) ? 'even' : 'odd';
}

Если вы ожидаете, что вам потребуется более динамичное поведение на стороне клиента в вашем приложении, вы можете проверить библиотеку вроде jQuery out. Для только этот не нужен, но упрощает работу с Javascript в разных браузерах. Вы должны сделать это с помощью jQuery, как показано в этом ответе.

В зависимости от вашей аудитории, Javascript может быть вполне приемлемым. Если это не так, то, может быть, вы сможете ...

B) Упростите свой CSS и продолжайте делать это вручную. Классом можно пометить только нечетные строки, а затем сделайте стиль строки по умолчанию равномерным. Это сэкономит вам немного времени при перемещении вещей.

C) Создавать строки программно. Действительно архаично вводить такие данные в фиксированную таблицу, если вы собираетесь обновлять ее достаточно часто, чтобы это стало проблемой. Я, очевидно, не обращаю внимания на ваши обстоятельства, но сделать это в цикле каким-либо образом с помощью простого языка, такого как PHP, должно быть тривиально.

D) Прекратите использовать действительно устаревший браузер. :) (Это только полушутя, я уверен, что это вне вашего контроля)

m, очевидно, не обращает внимания на ваши обстоятельства, но сделать это в цикле каким-либо образом с помощью простого языка, такого как PHP, должно быть тривиально.

D) Прекратите использовать действительно устаревший браузер. :) (Это только полушутя, я уверен, что это вне вашего контроля)

m, очевидно, не обращает внимания на ваши обстоятельства, но сделать это в цикле каким-либо образом с помощью простого языка, такого как PHP, должно быть тривиально.

D) Прекратите использовать действительно устаревший браузер. :) (Это только полушутя, я уверен, что это вне вашего контроля)

12
ответ дан 6 December 2019 в 05:08
поделиться

Да. Вы можете использовать JavaScript для просмотра этих элементов и сброса их классов в соответствии с четным / нечетным.

0
ответ дан 6 December 2019 в 05:08
поделиться

Использовать jQuery ' s четный / нечетный дочерний элемент реализация

5
ответ дан 6 December 2019 в 05:08
поделиться

Лучшим подходом был бы псевдокласс : nth-child () .

Но, к сожалению, он еще не получил широкой поддержки. Поэтому для этого вам, вероятно, потребуется использовать JavaScript.

8
ответ дан 6 December 2019 в 05:08
поделиться