javascript - CSS - 在这种情况下删除类的更好方法?

标签 javascript jquery css css-selectors

我有一个包含 5 项的菜单。当我点击任何元素时,我添加一个类来改变它的颜色。我还从其他 4 个元素中删除了颜色,无论它们是否有颜色。是否有更好的方法(也许是通过 CSS)来删除那些未被选中的类?

 switch(currentC.data("template")) {
  case "cataction1": {
    currentC.addClass( "active cataction1Current" );
    $( ".catbarlist li" ).not( currentC ).removeClass( "cataction2Current cataction3Current cataction4Current cataction5Current active activenotransit" ); 
    break;
  }
  case "cataction2": {
    currentC.addClass( "active cataction2Current" );
    $( ".catbarlist li" ).not( currentC ).removeClass( "cataction1Current cataction3Current cataction4Current cataction5Current active activenotransit" ); 
    break;
  }
  case "cataction3": {
    currentC.addClass( "active cataction3Current" );
    $( ".catbarlist li" ).not( currentC ).removeClass( "cataction1Current cataction2Current cataction4Current cataction5Current active activenotransit" ); 
    break;
  }
  case "cataction4": {
    currentC.addClass( "active cataction4Current" );
    $( ".catbarlist li" ).not( currentC ).removeClass( "cataction1Current cataction2Current cataction3Current cataction5Current active activenotransit" ); 
    break;
  }
  case "cataction5": {
    currentC.addClass( "active cataction5Current" );
    $( ".catbarlist li" ).not( currentC ).removeClass( "cataction1Current cataction2Current cataction3Current cataction4Current active activenotransit" ); 
    break;
  }
 } 

最佳答案

放弃为每个元素使用唯一类,并使用单个通用类来标记当前元素。

例如,使用 jQuery:

$(document).on('click', '.my-menu > LI', function() {
    // Unmarking previously marked item.
    $(this.parentNode).children('.cur').removeClass('cur');

    // Marking new current item.
    $(this).addClass('cur');
});

关于javascript - CSS - 在这种情况下删除类的更好方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34026792/

相关文章:

ASP.NET Ajax : close window after Ajax call?

jquery - Stackoverflow 的有趣标签实现

javascript - 带有 UL 和 LI Bootstrap 的动态菜单

html - 使用 Jquery 创建某种 SPA

javascript - 单击父复选框时选中所有选中的框

javascript - IndexedDB - 检测是否建立索引

javascript - 正则表达式返回带有下划线组的未定义

javascript - 将javascript日期发送到网络服务

javascript - 查找所有选中的复选框属性值作为 xml

javascript - 如何在 Bootstrap 中设置下拉菜单的相关宽度