JQuery – 为什么我得到“目标未定义”
$(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; }); });
上面的代码生成此错误“目标未定义”引用该行:
var $id=$(event.target.id.substring(0,2));
这是HTML:
...
显然我的语法错了。 有什么想法吗? 谢谢
事件缺少作为您的点击处理程序的参数
事件未定义
javascript变量也不应该以$开头
如果您要执行的操作是获取单击按钮的ID,则替换为:
var $id=$(event.target.id.substring(0,2));
有了这个:
var $id = this.id.substring(0,2);
使用this
来引用生成事件的对象。 比进入你没有定义的事件对象容易得多(这就是你得到JS错误的原因)。
从其余的代码中,您似乎只想将$id
作为字符串。 如果是这种情况,那么不要试图从中创建一个jQuery对象。 你意识到你在这里只得到一个2个字符的字符串吗? 看起来您可能在按钮ID中有三个唯一的字符。