javascript - 在 jQuery UI 菜单中使用 addClass

标签 javascript jquery css jquery-ui

我正在使用 jQuery UI Menu用于导航目的。我希望当一个元素被点击时,它的背景颜色应该改变(以显示事件状态),当用户点击其他元素时,新元素的颜色应该改变,而前一个元素的颜色应该恢复到原来的颜色。

我为此使用了 addClass,但不知何故它不起作用,让我知道我哪里做错了。

Fiddle link

HTML:

<ul id="menu" class="nav">              
   <li><a href="#" >Item 1</a></li>
   <li><a href="#">Item 2</a></li>
   <li><a href="#">Item 3</a></li>
   <li><a href="#">Item 4</a></li>
   <li><a href="#">Item 5</a></li>
   <li><a href="#">Item 6</a></li>
</ul>

CSS:

.selected{
    color:red;
}

jQuery

  $(function() {
    $( "#menu" ).menu();
  });
  $(function () {
  $(".nav a").click(function () {
    $(this).parent().addClass('selected'). // <li>
      siblings().removeClass('selected');
  });
  });

最佳答案

在 anchor 而不是 li 上应用样式。因为 anchor 继承的红色被 .ui-widget-content a

覆盖
.selected a {
    color:red;
}

Demo

带背景色:-

Demo

关于javascript - 在 jQuery UI 菜单中使用 addClass,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16828239/

相关文章:

javascript - 用户使用其他方式登录时如何关闭一键提示?

javascript - 如何使用 jQuery 单击 div 中的文本

javascript - Jquery .each() 无限循环

许多元素上的jquery队列

jquery - ajax在ie10中返回空结果

css - 没有图像剪切的响应式重新验证

html - 更改 li 顺序 - 颠倒顺序

javascript - react 映射函数未返回的无状态组件

css - 使用 jquery mobile 的 youtube 移动风格导航

javascript - ajax 加载内容,脚本未执行