Вопрос

В настоящее время я использую .load() функция для загрузки контента в контейнер div динамически.Загружаемый контент представляет собой табличные данные, которые я хотел бы нанести на полосу зебры.Зебровое чередование легко выполнить на статической странице, но я не могу понять, как зебровое чередование нового контента, загруженного в контейнер. div.

Вот код, с которым я пытаюсь работать:

$("table tbody tr:even").live("EVENT", function(){
  $(this).addClass("alt");
});

«СОБЫТИЕ» не должно быть "click", или "mouseover" но "onload" или что-то в этом роде.Есть ли способ сделать это?Спасибо за ваши предложения!

~Джаред

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

Решение

Вам нужно просто запустить код чередования зебры в функции обратного вызова для load().

$("#myDiv").load( "/somecontroller/someaction", { data: value }, function() {
    $("#myDiv").find( "table tbody tr:even" ).addClass( "alt" );
});

Другие советы

В качестве расширения ответа tvanfosson (что в данном случае является лучшим выбором), функция live() в настоящее время поддерживает только некоторые события.Это из документации по адресу http://api.jquery.com/:

Возможные значения события:щелчок, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, keydown, keypress, keyup

В настоящее время не поддерживается:размытие, фокус, mouseenter, mouseleave, изменить, отправить

Чтобы динамически добавлять данные в таблицу, вам нужно использовать другой код.Не так ли?внутри этой функции после загрузки данных в таблицу добавьте класс CSS в строки.Используя метод ниже в этой функции,

$("table tbody tr:even").removeClass("alt").addClass("alt");

Я делаю это таким образом, чтобы вызвать событие с помощью jquery 1.4.2.

$("body").live("mousemove", function(){ $(".zebra tr:nth-child(even)").addClass("alt");});

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