Selector en jQuery

SicKneSs

Buenas,

Tengo una tabla estilo:

<table>
   <tr><td>algo</td><td>algo</td><td><div id=""> oculto </div></td></tr>
   <tr><td>algo2</td><td>algo2</td><td><div id=""> oculto2 </div></td></tr>
   <tr><td>algo3</td><td>algo3</td><td><div id=""> oculto3 </div></td></tr>
...
</table>

Necesito que, capturando un evento mouseenter o mouseup en cada tr, me muestre el div oculto de la tercera celda (última en mi ejemplo).

me estoy lidando con los id's de cada unos de ellos.

he hecho lo siguiente:

$("document").ready(function () {

   $("table tr").mouseenter(function (e) {
		
$(e.target:last-child).css("display", "block");
	
   });		
		
$("table tr").mouseleave(function () {
	
$(e.target:last-child).css("display", "none");
	
});

});

también he usado $(e.target div) y nada.

¿Se entiende no?

Saludos.

GreyShock

Te recomiendo que utilices la función .hover() en lugar de la mouseenter, que controla mejor los eventos que tu quieres capturar.

http://api.jquery.com/hover/

Además, ya tiene su propio estado que controla "entrar" y "salir", así que de lujo.

EDIT: Y si no te detecta los divs de la fila, prueba con

$(this).find('div').css('display','block'); 

en lugar de lo que tienes del e.target

1 1 respuesta
SicKneSs

#2 perfecto, al final he usado Hover :). justo estaba mirando find() para ello y me funciona.

Muchas gracias.

1 respuesta
GreyShock

#3 Un placer ;) Sólo deseo que esas tablas sean realmente para mostrar datos tabulados y no para maquetar xD

2 respuestas
SicKneSs

#4 obvio xD

:)

SicKneSs

#4 cómo harías para selecionar en el mismo evento la primera celda de cada fila?

1 respuesta
scumah

#6 Algo así:

$(this).find('td').first();
1 respuesta
SicKneSs

#7 o también

 $(this).find("td:first");

gracias :).

1 respuesta
GreyShock

#8 O asá

$(this).find('td:eq(0)');

viva jQuery xD

Usuarios habituales

  • GreyShock
  • SicKneSs
  • scumah