2010-07-29 2 views
3

Быстрее/лучше использовать CSS с классами для таблиц для нечетных/четных строк, сгенерированных на сервере, или использовать jQuery для стилей полос на document.Ready()?jQuery table styling vs CSS styling для альтернативных строк

Я хотел бы начать использовать JQuery, чтобы сделать мои разметки менее загромождены, но я не уверен, о производительности, особенно для больших (до 200 строк) таблиц.

ответ

3

В зависимости от браузера может не иметь выбора. jQuery будет работать со старыми браузерами, такими как IE7, которые не имеют N-го дочернего селектора.

В идеале вы должны использовать CSS. Таблица стилей - лучшее место для стилей.

Я хотел бы использовать CSS с яваскрипта резервного копирования для старых браузеров. Если, например, вы хотите Зебра все таблицы попробовать это:

tr:nth-child(2n+1), tr.odd { background:#911100; } 
tr:nth-child(2n), tr.even { background:#222200; } 

И в JQuery добавить .odd и .even классы, если браузер старый.

//You will need to check which browsers don't support n-th child. But I doubt IE will  for example... 
if($.browser.msie && $.browser.version < 9) { 
    $('tr:odd').addClass('odd'); 
    $('tr:even').addClass('even'); 
} 
+0

В случае, если вы создаете строки таблицы на стороне сервера (например, PHP), вы можете добавить класс «четный» или «нечетный» к каждой строке. Это полезно для работы в любом обозревателе, о котором стоит беспокоиться, и он настолько же эффективен, как вы можете получить (помимо использования CSS вообще). –

2

это не 100% пока (на интернет-проводник, в любом случае), но я обычно использую CSS nth-child. например:

.someclass:nth-child(2n+1) { 
    background:#911100; 
} 

бы каждый Роу background: #911100. Неплохая вещь, даже если вы удалите строку с jquery, CSS автоматически перекрасит строки ниже.