以下示例演示了我的问题。
https://jsfiddle.net/bff56wup/3/
$('.accordion-toggle').on('click', function() {
$(this).toggleClass('active').siblings().removeClass('active');
});
当我展开其中一个手风琴问题并尝试在第一个手风琴问题打开时展开另一个时,箭头不会改变。 .siblings()应该处理,但它不会。
编辑:更正了拼写错误,错误仍然存在
答案 0 :(得分:2)
问题是因为.accordion-toggle
元素不是彼此的兄弟,因此siblings()
不会返回任何内容。
要修复逻辑,您可以直接选择.active
元素并从中删除类:
$('.accordion-toggle').on('click', function() {
$('.active').not(this).removeClass('active');
$(this).toggleClass('active');
});