2011-05-24 15 views
8

tengo el siguiente código:jQuery retirar a los niños específicos

$('.TopNotificationIcon span').remove();  

¿Puedo reemplazar .TopNotificationIcon con this es decir solamente span existe dentro de esta clase específica.

Esta es la estructura

<div class="TopNotificationIcon"><span>xxxxx</span></div> 

El clic de .TopNotificationIcon, span debe ser eliminado.

+2

Asegúrese de entender exactamente lo que quiere? ¿Desea probar si un tramo está bajo cierta clase o eliminar todo el tramo en TopNotification en una función? –

Respuesta

17

si usted tiene haga clic en eventos para .TopNotificationIcon se puede hacer algo como esto

$('.TopNotificationIcon').click(function(){ 
    $('span',this).remove();  
}); 
+0

+1 Esta parece ser la mejor solución para esto. – kapa

+0

mi error fue diferente, pero la comunidad dice que es correcto. así que gracias por la sugerencia esperando que sea correcto, no hay tiempo para echarle un vistazo – aWebDeveloper

2

Prueba esto ...

$('span').remove('.TopNotificationIcon'); 

Esto eliminará todos los elementos span con el TopNotificationIcon clase y también elementos secundarios

+0

Esto no es lo que el OP quería. '.TopNotificationIcon' es uno de los padres del' span' que debe eliminarse. – kapa

+0

sí usted r right @bazmegakapa – aWebDeveloper

0

Si desea eliminar toda lapso bajo TopNotification se puede hacer esto:

$('div').live('click', function(){ 
    $(this).children('span').remove();  
}); 

Se eliminarán todos los niños en un div.

+0

Esto es innecesariamente detallado. '$ ('. TopNotificationIcon span'). Remove();' es suficiente. – kapa

+0

Sí, tienes razón. Hay otra proposición. –

7

me gustaría utilizar el método find(), como parece ser el más rápido:

$("div.TopNotificationIcon").click(function() { 

    $(this).find("span").remove();  

}); 
no
+0

El contexto utilizado por @TheSuperTramp es solo una abreviatura de 'find()'. – kapa

+0

Sí, pero eso solo da la vuelta y hace un 'find()', ¿no es así? Entonces, ¿no sería más prudente usar 'find()' directamente? –

+0

La diferencia es tan mínima que debe usar la que sea más legible y lógica para usted :). – kapa

Cuestiones relacionadas