Pregunta

Actualmente estoy usando la función .load() para cargar el contenido en un recipiente div dinámicamente. El contenido que se carga es de datos de mesa que me gustaría raya de la cebra. La creación de bandas de cebra es fácil en una página estática, pero no puedo encontrar la manera de la raya de los nuevos contenidos cargados en el contenedor div.

Este es el código con el que estoy tratando de trabajar:

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

El "EVENTO" no se debe "click" o "mouseover" pero "onload" o algo por el estilo. ¿Hay alguna forma de hacer esto? Gracias por sus sugerencias!

~ Jared

¿Fue útil?

Solución

Usted sólo debe ejecutar el código de rayas de cebra en la función de devolución de llamada para la carga ().

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

Otros consejos

Como una extensión de la respuesta de tvanfosson (¿Cuál es la mejor opción en este caso), la función en vivo () sólo es compatible con algunos eventos. Esto es de la documentación en http://api.jquery.com/ :

  

valores de eventos posibles: clic, dblclick, mousedown, mouseup, mousemove, al pasar el ratón, mouseout, keydown, pulsación de tecla, keyup

     

En la actualidad no es compatible: mancha, foco, MouseEnter, mouseleave, cambio, presentar

Para añadir datos a la tabla dinámica, usted tiene que utilizar otro código. No lo es? dentro de esa función, después de la carga de datos a la tabla, agregar la clase CSS a filas. Mediante el siguiente método en el que la función,

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

lo hago de esta manera de desencadenar el evento con jQuery 1.4.2

.

$ ( "cuerpo") en vivo ( "mousemove", function () {$ ( "tr cebra:. Nth-child (aún) ") addClass (" alt");});

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top