很抱歉,如果没有看到一个小错误,但我无法按照自己的意愿使用我的代码。
首先:这是一个JSFiddle。 (最大化结果窗口以更好地查看问题)。
单击任何按钮。然后单击其他按钮。像我预期的那样工作。
单击两次相同的按钮时会出现问题。该区域(按预期)折叠,但另一个按钮会扩展其宽度。
我尝试了以下内容: 当区域扩展时,不要做任何事情。
如果你看一下js-part:
else if ($(this).attr('aria-expanded') === true)
即使控制台记录属性
,它也不会评估为true console.log($(this).attr('aria-expanded'))
请告诉我,我的if-logic是否存在缺陷,或者我是否未正确访问aria-expanded
属性。
再次重新解释或总结我的问题:
如果我连续两次点击一个按钮,我只想切换区域,而不是按钮的宽度。
我愿意接受任何涉及检查除aria-expanded
之外的其他属性的建议。
答案 0 :(得分:4)
attr()
返回一个字符串:
else if ($(this).attr('aria-expanded') === 'true')