【发布时间】:2019-10-04 21:40:43
【问题描述】:
我有一个展开/折叠导航菜单的按钮。我需要将按钮的图标从“左”箭头图标切换到“右”箭头图标。如何根据属性值更改此导航按钮的图标? 我想用 jQuery 通过添加/删除 css 类来实现它。
<button class="t-Button t-Button--icon t-Button--header t-Button--headerTree" aria-label="Expand / Collapse Navigation" title="Expand / Collapse Navigation" id="t_Button_navControl" type="button" aria-controls="t_TreeNav" aria-expanded="true">
<span class="fa-angle-double-left fa-lg" aria-hidden="true"></span>
</button>
$('.t-Header-controls button').on('classChange', function() {
$('.t-Header-controls button[aria-expanded="true"]').find('span').addClass('fa fa-angle-double-left fa-2x fa-lg');
$('.t-Header-controls button[aria-expanded="false"]').find('span').addClass('fa fa-angle-double-right fa-2x fa-lg');
});
我需要向 span 元素添加/删除类。 上面的代码不起作用。 基本上当按钮单击和按钮的属性 aria-expanded="false" 我需要删除 .fa-angle-double-left 类并添加 .fa-angle-double-right 类。但是当再次单击按钮并且按钮的属性 aria-expanded="true" 时,我需要删除 .fa-angle-double-right 类并添加 .fa-angle-double-left 类。
我看到,当侧边菜单打开(展开)时,按钮的“区域展开”属性变为“true”:aria-expanded="true" 此时我需要按钮的图标是“左”方向箭头 - “fa-angle-double-left fa-lg”类。
当侧边菜单关闭(折叠)时,按钮的“area-expanded”属性变为“false”:aria-expanded="false" 此时我需要按钮的图标是“右”方向箭头 - “fa-angle-double-right fa-lg”类。
请帮助找到正确的解决方案
【问题讨论】:
标签: jquery css navigation