[Jquery-Es] ayuda para volver a llamar a funcion
Choan Gálvez
choan.galvez en gmail.com
Jue Nov 8 06:57:32 PST 2007
Hola.
On 07/11/2007, at 13:35, Luis Guevara wrote:
> Me refería a lo siguiente:
>
> De esta parte de código que me recomienda stripTM cambiar.
>
>
>>> Por cierto puedes mejorar el rendimiento encadenando las diferentes
>>> acciones, por ejemplo
>>> $('#tLista tbody tr').removeClass('AlternateBackTD BackTD')
>>> .filter(':odd').addClass('AlternateBackTD').end()
>>> .filter(':even').addClass('BackTD');
>>>
>>>
>
>
>
> ¿Porqué debe ir el .end() ? ¿Cual es su función?. Estuve leyendo
> en el
> manual pero como recien empiezo con esta librería no le capto la idea.
* jQuery trabaja con una pila de colecciones.
* Cada vez que ejecutas una selección de nodos, se añada una nueva
capa a la pila.
* Los métodos de modificación (`addClass`, etc.) trabajan siempre
sobre la capa superior
* Con `end()` eliminas la última capa.
Así (pinto entre corchetes una representación del contenido de la
última capa de la pila):
$('#tLista tbody tr') // [ tr1, tr2, tr3, tr4, .., trN ]
.filter(':odd') // [ tr1, tr3, ..., trN ]
.end() // [ tr1, tr2, tr3, tr4, .., trN ]
.filter(':even') // [ tr2, tr4, ..., trN ]
.end() // [ tr1, tr2, tr3, tr4, .., trN ]
> y ¿Porqué debe ir en la línea de en medio ? ¿no se supone que
> debería ir en
> la línea final antes del ";"? Osea así:
>
> .filter(':even').addClass('BackTD').end();
La línea es irrelevante.
Salud.
--
Choan Gálvez
<choan.galvez en gmail.com>
<http://choangalvez.nom.es/>
Más información sobre la lista de distribución Jquery-Es