我制作了一个下拉菜单,使用标签显示每个菜单项的特定内容。
这是我用于标签功能的jQuery教程的链接: http://www.jacklmoore.com/notes/jquery-tabs
我修改了代码以满足我的需求,但我很难找到一种方法来改变应用'active'类的元素。出于CSS样式的原因,我希望将“有效”类应用于当前正添加的<li>
的父<a>
。
我尝试了各种解决方案,包括.parent();
方法无济于事。这里的任何建议都将非常感激。
以下是处理添加类的代码的快速片段:
// Keep track of which tab is active and it's associated content
var $active, $content, $links = $(this).find('li.activate-dropdown a');
// If the location.hash matches one of the links, use that as the active tab.
$active = $($links.filter('[rel="'+location.hash+'"]')[0]);
$active.addClass('active');
$content = $($active.attr('rel'));
修改 实时代码示例 - http://jsfiddle.net/jgfg7/3/
答案 0 :(得分:0)
如果您的代码使用<a>
元素,则该代码适用于父代:
// Keep track of which tab is active and it's associated content
var $active, $content, $links = $(this).find('li.activate-dropdown a');
// If the location.hash matches one of the links, use that as the active tab.
$active = $($links.filter('[rel="'+location.hash+'"]')[0]);
$active.parent().addClass('active');
$content = $($active.attr('rel'));
答案 1 :(得分:0)
你试过吗
$active.parents("li").addClass('active');
答案 2 :(得分:0)
在删除或将课程添加到$active
时使用.closest('li')
。
请参阅更新的小提琴:http://jsfiddle.net/jgfg7/4/