为什么我会得到非法令牌?

时间:2012-11-27 12:59:44

标签: jquery

以下是给我一个非法令牌错误消息:

$('.navigation3').click(function(event) {
    var $nav3 = $(this),
        $dd = $nav3.next('.dropdown');

    $nav3.toggleClass('active');

    var leftoffset = $dd.width() - $nav3.width();

    var offset = 20,
        offsettop = $nav3.offset().top + $nav3.height() + offset,
        offsetleft = $nav3.offset().left-leftoffset ;


    $dd.css({
        top: offsettop,
        left: offsetleft
    });

    $nav3.hasClass('active') ? $dd.show() : $dd.hide();
});​

这发生在最后});。知道为什么吗?

2 个答案:

答案 0 :(得分:1)

您的代码看起来很好。在复制和粘贴代码时,有时可能会出现一些看不见的字符。尝试删除该区域周围的所有不可见字符(包括空格),然后重试。

<强>更新

脚本末尾有一个不需要的角色。我清理了代码并立即尝试,它应该可以正常工作

$('.navigation3').click(function(event) {
    var $nav3 = $(this),
        $dd = $nav3.next('.dropdown');

    $nav3.toggleClass('active');

    var leftoffset = $dd.width() - $nav3.width();

    var offset = 20,
        offsettop = $nav3.offset().top + $nav3.height() + offset,
        offsetleft = $nav3.offset().left-leftoffset ;


    $dd.css({
        top: offsettop,
        left: offsetleft
    });

    $nav3.hasClass('active') ? $dd.show() : $dd.hide();
});

答案 1 :(得分:0)

三元运算符计算表达式并返回预期分配的值。

一个简单的if / else语句而不是三元运算符可以解决这个问题