jquery图标类切换单击

时间:2018-01-19 13:34:24

标签: jquery

点击箭头'图标,它在课程之间切换' up'并且' down'但是因为有很多'箭头'图标,当我点击另一个图标时,我希望前一个图片在将其添加到点击的箭头之前丢失了该图标(如果有的话)。我的JQUERY代码似乎工作正常,除了这种情况: enter image description here

*点击箭头(' up'类已添加)

*点击另一个箭头('向下'类添加到上一个,'向上'添加到点击的箭头)

*点击另一个箭头('向下'类添加到上一个,点击的箭头消失)

我的代码:

$('.accordion').click(function() {
  if($(this).find('i').hasClass('fa-angle-down')){
      $('i').addClass('fa-angle-down');
      $(this).find('i').toggleClass('fa-angle-down fa-angle-up');
} else {
  $(this).find('i').toggleClass('fa-angle-up fa-angle-down');
}
});  

我的功能代码中存在任何逻辑缺陷。?

2 个答案:

答案 0 :(得分:0)

$('.accordion').click(function() {
  if($(this).find('i').hasClass('fa-angle-down'))
      $(this).find('i').removeClass('fa-angle-down').addClass('fa-angle-up');
  else 
      $(this).find('i').addClass('fa-angle-down').removeClass('fa-angle-up');
});

答案 1 :(得分:0)

在@ Cr1xus方法的帮助下找到了解决方案。

$('.accordion-question').click(function() {
  if($(this).find('i').hasClass('fa-angle-down')){
      $('i').addClass('fa-angle-down');
      $(this).find('i').removeClass('fa-angle-down').addClass('fa-angle-up');
} else {
  $(this).find('i').addClass('fa-angle-down').removeClass('fa-angle-up');
}
});