2010-08-11 25 views

Respuesta

25
$("div[class='foo']").click(function(e) { 
    e.preventDefault(); 
    $(this).hide(); 
    $('img.loading', this).show(); 
}); 
+1

¡Guau! ¡Puedes pasar el contexto al $ -selector! Bonito. – randomguy

+3

@randomguy: el contexto del selector se correlaciona con el método * find() *, por lo que '$ ('img.loading', this)' es lo mismo que '$ (this) .find ('img.loading')'. El contexto del selector es mucho más "agradable", creo. –

23

Si desea cualquier descendiente del elemento dado puede utilizar find():

$(this).find(".foo"); 

Si sabe que sólo desea buscar los elementos secundarios de primer nivel, puede usar children():

$(this).children(".foo"); 
+0

me gusta la pista para niños ("foo"). De hecho – Stefan

+0

correcta - pero dependiendo de la forma en que entiende _sub selects_ en el título de la pregunta, los elementos del conjunto inicial _might_ pueden ser candidatos para la selección. Pero hasta donde yo sé, 'find' no considerará descendientes. No sé si hay una manera de encontrar en "sí mismo o descendientes" aunque ... –

0

Usted podría utilizar

$(this).find("img").show(); 

o

$(this).find("img.loading").show(); 
Cuestiones relacionadas