【问题标题】:Toggle an element's attribute with jQuery?用 jQuery 切换元素的属性?
【发布时间】:2021-10-07 09:21:12
【问题描述】:

使用 jQuery 构建树形菜单,我希望它可以访问,所以我使用 aria 属性。我想要做的是在单击/输入时将“aria-expanded”属性从 true 切换为 false。我试过这个,但显然不正确:

$(this).closest('ul').find('> li.tree-parent').toggleAttr( 'aria-expanded', 'true false' );

【问题讨论】:

    标签: jquery attributes toggle wai-aria


    【解决方案1】:

    您可以使用.attr()手动编写切换逻辑

    $(this).closest('ul').find('> li.tree-parent').attr('aria-expanded', function (i, attr) {
        return attr == 'true' ? 'false' : 'true'
    });
    

    【讨论】:

    • 完美运行。谢谢!
    【解决方案2】:

    这个元素会根据点击改变类。提到的 aria-expanded 值是点击后

    $("#navbar-btn-icon").click(function(e) {
      var menuItem = $(this);
    
      if (menuItem.attr("aria-expanded") === "true") {
        $("span.navbar-toggler-icon").addClass('clicked');
      }
      else if (menuItem.attr("aria-expanded") === "false") {
        $("span.navbar-toggler-icon").removeClass('clicked');
      }
    
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多