使用jQuery定位父元素

时间:2012-10-08 02:22:32

标签: jquery

我制作了一个下拉菜单,使用标签显示每个菜单项的特定内容。

这是我用于标签功能的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/

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/