【问题标题】:Using javascript to set a class to a LI element使用 javascript 将类设置为 LI 元素
【发布时间】:2016-01-28 07:40:57
【问题描述】:

我有一个包含以下菜单的页面:

https://jsfiddle.net/dva4zo8t/

根据单击的菜单按钮,颜色会发生变化,我可以在新页面加载时“记住”(设置)颜色:

$('[id*="button"]').click(function() {
    $('.topmenu-ul li').removeClass();
    $(this).addClass('topmenu-selected' + $('a', this).attr('class'));
});

我还想“记住”(设置)子菜单链接(所以当我点击“添加约会”并加载相应的页面时,它需要像这样保持突出显示:

所以我基本上想要的是改变 sub li 的类,就像我对主按钮所做的那样,例如:

$('#redbutton').addClass('topmenu-selectedred');
$('.topmenu-tab-appointments').show();

非常欢迎任何指点!

【问题讨论】:

  • 当您点击新的约会子菜单时,页面可能已加载,因此您无法使用 javascript 记住它,您可能需要将其存储在 cookie 中,然后检索并设置它
  • “记住”实际上是指将其设置在加载的新页面上,就像我对彩色主按钮所做的那样:$('#redbutton').addClass('topmenu-选择红色'); $('.topmenu-tab-appointments').show();
  • 好的,那么你可以使用jquery的父函数来应用你的颜色

标签: javascript jquery css menu highlight


【解决方案1】:

我试着回答你的问题。我创造了小提琴。 我在您的代码中添加了以下方法。

$('ul > li > a').click(function() {
    if(!$(this).hasClass("parent")) {
       $(this).css('color','red');
       $(this).parent().siblings().children().css('color','black');
    }
});

Link for Fiddle

【讨论】:

  • 谢谢,它可以工作,但我正在寻找可以在页面加载时使用的东西,以突出显示相应的按钮。我会接受你的回答,因为它确实有效,但我只需要进一步看:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-23
  • 1970-01-01
  • 2014-02-01
  • 1970-01-01
相关资源
最近更新 更多