0

标题实际上有点误导。实际问题是(可以在这里看到):

如果单击列表元素之一,它会正确显示答案。

如果您单击另一个列表元素,它仍然可以正常工作。但是,如果您展开一个元素,然后再次单击它以将其关闭,则它右侧的小箭头不会变回朝下。

我不明白为什么会发生这种情况,因为 jQuery 代码旨在将它们全部改回面朝下。

有任何想法吗?

4

1 回答 1

2

问题是在检查元素是否具有下级之前进行上级到下级的更改。每当您单击处于“向上”状态的元素时,它会首先被拒绝,然后再次向上打开,因为代码认为它被拒绝了。

此代码应该可以工作:http: //jsbin.com/udadat/2/edit

它添加了一个 pre-down 类,up-class 元素将被设置为,并且在“who's down”检查之后,它将从 pre-down 设置为 down。

对不起,如果答案有点混乱,而且对stackoverflow来说很新:)

于 2013-08-14T16:10:08.893 回答