2009-08-28 11 views
7

Aquí es mi HTML:¿Cómo usar la función Jquery más cercana()?

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

y actualmente han conseguido este código jQuery,

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

Por alguna razón la función closest() no está funcionando, y no va a cambiar la fila de tabla .r3c - He intentado usar padres y otras alternativas, pero tampoco puedo hacerlo funcionar :(

Disculpas por la pregunta tonta, y algo similar a un problema que tuve antes. Solo me preguntaba, ¿cuál es el mejor? solución para esto?

Gracias!

Respuesta

12

Pruebe con:

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

tal vez esto funcionaría:

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

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

Eso es perfecto, gracias !! :) – Nick

21

más cercano() encuentra más cercano al padre no los padres-hermanos-hijos.

¿Quieres algo como:

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

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

Dado que la pregunta era '¿Cómo utilizar la función Jquery más cercana()?' esta es la mejor respuesta de seguro. Las otras respuestas son más acerca de cómo atravesar el DOM usando jquery sin usar el más cercano :) –

+1

+1 Me ayudó ... ¡esto! –

Cuestiones relacionadas