Вопрос

Для обычных HTML-таблиц я использую

 $('table.alt tr:even').addClass('bg');

для полосы стола. Но, очевидно, это не работает с Ajax. Индекс каждой новой таблицы «-1», и поэтому каждая новая строка получает класс.

Даже живой запрос-плагин от http://brandonaaron.net. не могу помочь мне. Какие-либо предложения?

Это было полезно?

Решение

Ну, вы можете попробовать добавить строку, этот код, плюс один, который удаляет все существующие полосы, к Глобальный .ajaxSuccess() мероприятие Так что это запускается каждый раз, когда ajax call завершен, но это не является ужасно эффективным методом, если вы работаете со многими различными вызовами Ajax, только что на самом деле меняет таблицу.

Вы также можете определить функцию, которую вы можете включить с success Обратный вызов ваших вызовов AJAX, например

function stripTable(){
     $('table.alt tr').removeClass('bg').filter(':even').addClass('bg');
}

Это предотвратит промежуточные полосы, если вы введете в новые строки в существующие таблицы.

Использование CSS, конечно, лучше всего сделать это, но поскольку вы используете jQuery для этого, я подозреваю, что обратная совместимость является ключевой проблемой здесь.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top