首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JQuery -为什么我得到“目标未定义”

JQuery -为什么我得到“目标未定义”
EN

Stack Overflow用户
提问于 2011-10-05 13:38:58
回答 3查看 5.4K关注 0票数 1
代码语言:javascript
复制
$(document).ready(function() 
{ 
    $(".menubutton").click(function()
        { 
        var $id=$(event.target.id.substring(0,2));
        $(".active").animate({"top": "-=1000px"}, speedanim);
        $("div#homedrawer div").filter($(".active")).removeClass("active");
        $("#"+$id).animate({"top": "+=1000px"}, speedanim);
        $("#"+$id).addClass("active");
        return false; 
        });

});

上面的代码生成了这个错误"target is not defined“,指的是这一行:

代码语言:javascript
复制
var $id=$(event.target.id.substring(0,2));

这是HTML:

代码语言:javascript
复制
<a id="fesbtn" class="menubutton" href="#"><img src="img/menu/fes.png" alt="" /></a>
<a id="futbtn" class="menubutton" href="#"><img src="img/menu/fut.png" alt="" /></a>
<a id="reibtn" class="menubutton" href="#"><img src="img/menu/rei.png" alt="" /></a>
...

很明显,我的语法是错误的。有什么想法吗?谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-10-05 13:40:57

事件作为单击处理程序的参数丢失

票数 2
EN

Stack Overflow用户

发布于 2011-10-05 13:44:40

未定义事件

另外,javascript变量不应以$开头

票数 0
EN

Stack Overflow用户

发布于 2011-10-05 13:50:13

如果您要做的是获取所单击按钮的id,则替换为:

代码语言:javascript
复制
var $id=$(event.target.id.substring(0,2));

有了这个:

代码语言:javascript
复制
var $id = this.id.substring(0,2);

使用this引用生成事件的对象。比进入你还没有定义的事件对象要容易得多(这就是为什么你会得到一个JS错误)。

从代码的其余部分看,您似乎只希望$id是一个字符串。如果是这样的话,就不要试图用它来创建jQuery对象。你有没有意识到你在这里只能得到2个字符串?看起来您的按钮ID中可能有三个唯一字符。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7657112

复制
相关文章

相似问题

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