Jquery的兄弟姐妹()没有按预期工作

时间:2017-08-29 09:49:43

标签: jquery

以下示例演示了我的问题。

https://jsfiddle.net/bff56wup/3/

$('.accordion-toggle').on('click', function() {
    $(this).toggleClass('active').siblings().removeClass('active');
});

当我展开其中一个手风琴问题并尝试在第一个手风琴问题打开时展开另一个时,箭头不会改变。 .siblings()应该处理,但它不会。

编辑:更正了拼写错误,错误仍然存​​在

1 个答案:

答案 0 :(得分:2)

问题是因为.accordion-toggle元素不是彼此的兄弟,因此siblings()不会返回任何内容。

要修复逻辑,您可以直接选择.active元素并从中删除类:

$('.accordion-toggle').on('click', function() {
  $('.active').not(this).removeClass('active');
  $(this).toggleClass('active');
});

Updated fiddle