Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Vou dar um exemplo bem simples... espero que isso tenha alguma solução, mas já vi funcionando em vários sites.
Trago na minha view resultados vindo do banco com as seguintes divs:
<div class="principal">
<div class="conteudo">
<p>Isso é um teste</p> <a href="#" class="excluir">Excluir</a>
</div>
</div>
Só que tenho uma simples função que esconde o link de excluir e ao passar o mouse em cima da div principal, ele aparece...
$(document).ready(function(){
$(".excluir").hide();
$(.principal").mouseover(function(){
$(".excluir").show();
})
})
Mas digamos que vem do banco 3 ou 5 resultados... quando eu passar o mouse em cima de algum deles, vai aparecer o link de excluir em todos os resultados.
O que eu queria é que aparecesse o link só naquela div principal que o mouse está em cima...
Agradeço se alguém souber isso... valeu.
Pelo que eu entendi no post, tem que usar o $(this) ao invés da div .principal no caso. Mas não consegui fazer funcionar.
além de user o this, vc tem q navegar no dom
$(document).ready(function(){
$(".excluir").hide();
$(".principal").on("mouseenter", function(){
$(this).find(".excluir").show();
});
});Bah eu tava quase lá... tenho uma function de exclusão que usa o $(this).parents... Não sabia desse find. Valeu aee :)
Dá uma lida aqui, sobre o objeto this
http://wbruno.com.br/jquery/afinal-e-javascript/