$('#id')。attr('aria-expanded')=== true)不工作

时间:2016-02-23 14:28:11

标签: javascript jquery

很抱歉,如果没有看到一个小错误,但我无法按照自己的意愿使用我的代码。

首先:这是一个JSFiddle。 (最大化结果窗口以更好地查看问题)。

单击任何按钮。然后单击其他按钮。像我预期的那样工作。

单击两次相同的按钮时会出现问题。该区域(按预期)折叠,但另一个按钮会扩展其宽度。

我尝试了以下内容: 当区域扩展时,不要做任何事情。

如果你看一下js-part:

 else if ($(this).attr('aria-expanded') === true)

即使控制台记录属性

,它也不会评估为true
 console.log($(this).attr('aria-expanded'))

truefalse,调试工具会在点击时显示属性和切换。 enter image description here

请告诉我,我的if-logic是否存在缺陷,或者我是否未正确访问aria-expanded属性。

再次重新解释或总结我的问题:

如果我连续两次点击一个按钮,我只想切换区域,而不是按钮的宽度。

我愿意接受任何涉及检查除aria-expanded之外的其他属性的建议。

1 个答案:

答案 0 :(得分:4)

attr()返回一个字符串:

else if ($(this).attr('aria-expanded') === 'true')