首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery hover()中的语法错误

jQuery hover()中的语法错误
EN

Stack Overflow用户
提问于 2011-10-26 02:07:59
回答 3查看 192关注 0票数 0

我正在尝试建立一个带有导航菜单的网站,它可以在悬停在当前不是“选中”或“活动”的导航按钮上切换类。下面是代码的一个简单版本:

代码语言:javascript
复制
<html>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
<style type="text/css">
ul li a.selected {font-weight:bold;}
ul li a.hover {color:yellow;}
div.page {position:absolute;}
</style>

<script type="text/javascript">
$(function(){
    $("div.page:not(:first)").hide();   // hide all pages except the home page

    var menu=$("div.navMenu ul li a");
    menu.click(function(){
        var previous=window.location.hash;
        var selected=$(this).attr("href");
        if (previous != selected) {
            $("div.page"+previous).fadeOut();
            $("div.page"+selected).fadeIn();
            }
        $(this).addClass("selected");
        menu.not(this).removeClass("selected");
    });

    menu.hover(function(){
        $(this:not(.selected)).toggleClass("hover");
    });

});
</script>
</head>
<body>
<div class="navMenu">
<ul>
<li><a href="#home">Home</a></li>
<li><a href="#portfolio">Portfolio</a></li>
<li><a href="#contact">Contact</a></li>
</ul>
</div>
<div class="page" id="home">This is my home page.</div>
<div class="page" id="portfolio">This is my portfolio page.</div>
<div class="page" id="contact">This is my contact page.</div>
</body>
</html>

Dreamweaver指示行中有语法错误

代码语言:javascript
复制
$(this:not(.selected)).toggleClass("hover");

但是,我看不出语法错误是什么。(其思想是只为没有“选定”类的菜单按钮切换“悬停”类)。任何帮助都将不胜感激。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-10-26 02:14:11

我认为应该是:

代码语言:javascript
复制
$(this).not(".selected").toggleClass("hover");
票数 2
EN

Stack Overflow用户

发布于 2011-10-26 02:14:28

可能应该是$(this).not(".selected").toggleClass("hover");之类的

票数 1
EN

Stack Overflow用户

发布于 2011-10-26 02:14:45

$(this:not(.selected)).toggleClass("hover");表达式无效。

使用像这样的东西:

代码语言:javascript
复制
menu.hover(function(){
        if ($(this).hasClass('selected'))
            $(this).addClass("hover");
    }, function() {
        if ($(this).hasClass('selected'))
            $(this).removeClass("hover");
    });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7893796

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档