2009-08-28 24 views
7

Ecco la mia HTML:Utilizzo della funzione Jquery closest()?

<tr> 
    <td class="show_r3c">click here</td> 
</tr> 
<tr class="r3c"> 
    <td>This is what I'd like to display</td> 
</tr> 

E mi hanno attualmente ottenuto questo codice jQuery,

$(document).ready(function(){ 
     $(".r3c").hide();   
     $('.show_r3c').click(function() { 
         $(this).closest('.r3c').toggle(); 
         return false; 
     }); 
    }); 

Per qualche ragione la funzione closest() non funziona, e non si alternerà la riga della tabella .r3c - Ho provato a utilizzare i genitori e altre alternative ma non riesco a farlo funzionare :(

Ci scusiamo per la domanda stupida, e qualcosa di simile a un problema che ho avuto prima. Mi chiedo solo, Qual è il migliore soluzione per questo?

Grazie!

risposta

12

Prova con:

$('.show_r3c').click(function() { 
    $(this).parent('tr').next('tr.r3c').toggle(); 
    return false; 
}); 
4

forse questo dovrebbe funzionare:

$(document).ready(function(){ 
    $(".r3c").hide(); 

    $('.show_r3c').click(function() { 
     $(this).parent().siblings(":first").toggle(); 
     return false; 
    }); 
}); 
+0

che è perfetto, grazie !! :) – Nick

21

più vicino() trova il genitore più vicino non i genitori-fratelli-figli.

Volete qualcosa di simile:

$(document).ready(function(){ 
    $(".r3c").hide(); 

    $('.show_r3c').click(function() { 
     $(this).closest('table').find("tr.r3c").toggle(); return false; 
    }); 
}); 
+1

Poiché la domanda era "Utilizzare la funzione Jquery closest()?" questa è la risposta migliore di sicuro. Le altre risposte sono chiare su come attraversare il DOM usando jquery senza usare il più vicino :) –

+1

+1 Aiutami a uscire..thx! –

Problemi correlati