2016-03-09 4 views
-1

Я довольно новичок в jquery, и у меня есть эта страница с кучей складных аккордеонов, и я пытаюсь переключить стрелку глификона вверх и вниз по одному аккордеонному заголовку, на который я нажимаю. Стрелки меняются, как и планировалось, но все они меняются, а не только тот, на который я нажимаю. Я попробовал подобные ответы, но это просто не сработало бы для моей ситуации. Я не думаю, что я правильно это кодирую.Переключить определенный класс с помощью JQuery

<div class="panel-heading menuBack" role="tab" id="headingOne"> 
    <a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion" data-target="#collapseOne" aria-expanded="false" aria-controls="collapseOne"> 
     <h4 class="panel-title"> 
      Breakfast Burritos <span class="servicedrop glyphicon glyphicon-download"></span> 
     </h4> 
    </a> 
</div> 

    $(this).click('shown.bs.collapse', function() { 
     $('.servicedrop', this).toggleClass('glyphicon-upload'); 
    }); 
+0

привет, вот веб-страница, над которой я работаю. Он показывает, что все стрелки изменяются, когда я нажимаю на одно меню. http://browncoder.com/primosmex/menu.html – jackattack

+0

В вашем контексте это выглядит так: 'this' относится к самому документу. Таким образом, щелчок в любом месте документа будет включать все элементы .servicedrop в документе. – showdev

+0

О, отлично, это имеет смысл. Мне придется все это очистить. Спасибо за вашу помощь! – jackattack

ответ

0

вы можете пройти 2 названия класса для toggleClass, и он будет переключаться между ними до тех пор, как один присутствует на элементе, чтобы начать с

$(this).find('.servicedrop').toggleClass('glyphicon-upload glyphicon-download'); 
0

showdev помог мне реализовать мои $ (это) относится к весь мой документ. Как только я сделал следующие изменения, все прошло хорошо.

$('.panel-title').click(function() { 
    $('span', this).toggleClass('glyphicon-upload'); 
}); 
Смежные вопросы