2009-08-28 13 views
7

Tu jest mój HTML:Korzystanie z funkcji najbliższego Jquery()?

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

A ja obecnie mam ten kod jQuery

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

Z jakiegoś powodu funkcja closest() nie działa, i nie będzie przełączać wiersz tabeli .r3c - Próbowałem używać rodzica i innych alternatyw, ale nie mogę go uruchomić :(

Przepraszam za głupie pytanie i coś podobnego do problemu, który miałem wcześniej. Zastanawiam się, co jest najlepsze rozwiązanie tego?

Dzięki!

Odpowiedz

12

Spróbuj z:

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

być może to będzie działać:

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

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

To jest doskonały, dziękuję !! :) – Nick

21

najbliżej() znajdzie najbliższą rodzica a nie rodzice rodzeństwo-dzieci.

Chcesz coś takiego:

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

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

Ponieważ pytanie brzmiało "Korzystanie z funkcji najbliższego Jquery?" to jest najlepsza odpowiedź na pewno. Inne odpowiedzi są mroe o tym, jak przemierzać DOM za pomocą jquery bez użycia najbliższej :) –

+1

+1 Pomógł mi .....! –

Powiązane problemy