2009-09-19 24 views
11

Ich bin relativ neu in JQuery und ich würde gerne ein Menü auf mouseover zeigen können. HierJQuery Verbergen Klasse auf Schwebeflug anzeigen

ist die HTML-

<td class ="comment_div"> <?php echo("$comment_data['comment']); ?> <br/> 
    <span class="comment_actions"> Approve | Delete | Spam | Edit</span> 
</td> 

dann die JQuery

$("comment_div").hover(
     function() { $(".comment_actions").show(); }, 
     function() { $(".comment_actions").hide(); } 
); 

Dies funktioniert exept für mich mehrere Kommentare aus bin ziehen und dies zeigt nur das Menü auf dem ersten div egal was "Kommentar" ist schwebend. Ich möchte, dass das Menü nur für den Kommentar angezeigt wird, über den gerade gefedert wird. Ich denke, ich muss "$ this" verwenden, um diese Arbeit zu machen, aber nicht sicher, wie.

Danke.

Antwort

18

Wenn lese ich das richtig das Format

$(".comment_div").hover(
    function() { $(this).children(".comment_actions").show(); }, 
    function() { $(this).children(".comment_actions").hide(); } 
); 

bearbeiten BE- sollte, weil ich ein kompletter Idiot bin.

+0

Würde "comment_div" nicht ein-/ausblenden? Ich versuche, "comment_actions" beim Hover anzuzeigen/auszublenden. – BandonRandon

+0

Sie haben absolut recht- Ich bin heute halb und aus der Übung schlafend. Das sollte jetzt behoben sein. –

+0

Danke, das funktioniert jetzt! – BandonRandon

2

So etwas wie dies funktioniert für mich:

<script> 
$(document).ready(function() { 
$(".container").hover(
     function() { $(this).children('.comment_actions').show(); }, 
     function() { $(this).children('.comment_actions').hide(); } 
); 

}); 

</script> 

<style> 

</style> 


<table border="1"><tr> 
<td class ="container"><br/> 
    asd<span class="comment_actions">Approve | Delete</span> 
</td> 
<td class ="container"><br/> 
    asd <span class="comment_actions">Approve | Delete</span> 
</td> 
<td class ="container"><br/> 
    asd<span class="comment_actions"> Approve| Delete</span> 
</td> 
</tr></table> 

Allerdings ist die Frage, die Sie stellen müssen, ist Aktionen über einen div schweben, das Display hat: none; einstellen. Sie könnten es in Betracht ziehen, es in etwas zu verpacken, das maussensitiv ist, und stattdessen Kinder anzeigen/verbergen.