Я использую функцию ниже для переключения полей комментариев в фиде активности. Что должно произойти, так это то, что щелкнуто слово «Комментарий», и окно комментариев становится видимым.jquery toggle отдельный элемент списка
Это происходит только для первого элемента в списке. Если я нажимаю на слово «Комментарий» на любую запись, кроме первой, первый переключатель comment_box переключается.
Как я могу получить каждый блок комментариев для переключения по отдельности? Кроме того, что это за проблема, вызванная в jQuery? Я попытался посмотреть его, но не знал, как это назвать.
JQuery
$(function(){
$('span#comment_box').hide();
$('.comment').click(function() {
$('#comment_box').toggle();
});
});
HTML
<span href="" class="comment">Comment</span><br />
<span id="comment_box"><textarea name="status_comment" /></textarea><br /></span>
Вот jsfiddle - http://jsfiddle.net/jpBE3/
Вместо '$ (this) .nextAll ('. Comment_box'). First(). Toggle();' just use '$ (this) .next ('. Comment_box'). Toggle();'. 'next()' возвращает только один элемент, делающий последующий 'first()' ненужным. –
@Jordan - 'next' будет смотреть только в ближайшем родстве, если селектор соответствует ему, вернется или нет. Это не идет дальше, проверяя всех братьев и сестер. Посмотрите http://api.jquery.com/next/. В моем ответе я могу комбинировать ': first' с селектором и избегать вызова метода' first'. – ShankarSangoli
Вы правы, @ShankarSangoli. Спасибо за разъяснения. –