jquery - 帮助使用 jQuery 添加类

标签 jquery html css dom-manipulation

我试图根据悬停在哪个链接上更改导航底部边​​框颜色,底部边框颜色应更改以匹配悬停链接的颜色,当链接失去焦点或悬停时,导航底部边​​框应该返回到原来的颜色,下面是我的 HTML 和 jQuery。

<nav>
            <ul class="<?php echo $ul; ?>">
                <li class="home"><a class="home" href="/">Home</a></li>
                <li class="letters"><a class="letters" href="/product/type/letters">Letters</a></li>
                <li class="business active"><a class="active business" href="/product/type/business">Business</a></li>
                <li class="cards"><a class="cards" href="/product/type/cards">Cards</a></li>
                <li class="gifts"><a class="gifts"href="/product/gifts">Gifts</a></li>
            </ul>
        </nav>

/jQuery/

$('nav li a').hover(function(){
            var orginalClass = $(this).parent().parent().attr('class');
            $(this).parent().parent().attr('class', '');
            var classType = $(this).attr('class');
            $(this).parent().parent().addClass(classType);
        }, 
        function() {
            $(this).parent().parent().attr('class', '');
            $(this).addClass(orginalClass);
        });

最佳答案

问题是“originalClass”变量的范围。它位于第一个悬停函数的本地范围内,因此在第二个悬停函数中无法访问。

您应该做的只是添加和删除第二个 CSS 类,该类会覆盖第一个 CSS 类的设置。

关于jquery - 帮助使用 jQuery 添加类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7489215/

相关文章:

javascript - jquery动态解析json数据

javascript - 确定哪个按钮打开了 Bootstrap 3 模式

css - 整个站点 div 中出现的正文背景色

html - 为什么 td border-radius 应用于内容而不是边框

php - jQuery ajax,发送数据

javascript - Html5 视频 - 在屏幕上点击播放/暂停视频

javascript - 在悬停和移出时切换滚动 DIV 内容

html - iPhone SE 无法正确显示响应表标题,但可以在 Android 上运行

javascript - 在 setInterval AJAX 之间保留 jQuery 生成的标记

jquery - 如何创建步骤之间平滑过渡的多步骤表单?