2009-08-28 9 views
7

Voici mon HTML:En utilisant la fonction Jquery la plus proche()?

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

et moi avons actuellement obtenu ce code JQuery,

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

Pour une raison quelconque la fonction closest() ne fonctionne pas, et il ne sera pas basculer la table ligne .r3c - J'ai essayé d'utiliser parent et d'autres alternatives, mais ne peux pas le faire fonctionner non plus :(

Excuses pour la question stupide, et quelque chose de similaire à un problème que j'ai eu auparavant. solution pour cela?

Merci!

Répondre

12

Essayez avec:

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

peut-être cela pourrait fonctionner:

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

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

qui est parfait, merci !! :) – Nick

21

le plus proche() trouve le parent le plus proche et non les parents-frères et sœurs-enfants.

Vous voulez quelque chose comme:

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

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

Depuis la question était «Utilisation de la fonction Jquery plus proche()? C'est la meilleure réponse à coup sûr. Les autres réponses sont à propos de la façon de traverser le DOM en utilisant jquery sans utiliser le plus proche :) –

+1

+1 m'a aidé à sortir ... merci! –

Questions connexes