2015-01-05 5 views
1

Я хочу показать/скрыть несколько div в одном классе, используя jQuery toggle.jQuery переключить несколько классов

В настоящее время кнопка показывает/скрывает все divs. Как я могу заставить его переключать один div, не делая класс уникальным? Fiddle demo.

JQuery:

$(".button").click(function() { 
    $(".comment").toggle(); 
}); 

HTML:

<div class="comment"> 
    Comment 1 
</div> 
<button class="button">Show Comment</button> 
<br/> 
<div class="comment"> 
    Comment 2 
</div> 
<button class="button">Show Comment</button> 

ответ

2

Вы должны найти комментарий относительно элемента щелкнул. В вашем случае это предыдущий элемент к кнопке, так что используйте prev() с $(this) (что кнопка нажата):

JSFiddle:http://jsfiddle.net/TrueBlueAussie/vgs2wsz2/1/

$(".button").click(function() { 
    $(this).prev(".comment").toggle(); 
}); 

Примечание: ".comment" в prev() в этом случае не требуется, но делает его более очевидным.

например. это будет делать то же самое:

$(".button").click(function() { 
    $(this).prev().toggle(); 
}); 
+1

Интересно! Что, если это стихотворный стих: элемент отображается после кнопки, какую функцию я могу использовать? –

+0

Я полагаю, что здесь «подходит»;) –

+1

Да. Если порядок отменен, используйте 'next()' :) –

Смежные вопросы