在jQuery中,当我打电话:
$("selector").a_function(function(){
this.toggleClass("a-class");
}
我被告知this
属于某种类型,并且没有可用的jQuery函数。问题是我没有让jQuery对象返回给我。我解决这个问题的方法是:
jquery_object = jQuery(this);
每一次。我认为$()
等同于调用jQuery
并且我应该接收一个jQuery对象。
这是正常的吗?我在这里做错了什么?
答案 0 :(得分:1)
您希望使用$(this)
而非this
。
如果您提供this
,则不会引用DOM元素。
通过将其包装在标准的JQuery选择器函数中,您实际上将调用DOM元素。
我对点击处理程序使用了很多。
$('a').click(function(e) {
$(this).toggleClass('a-class');
});
JQuery中通过选择器调用并具有回调的任何函数都将使用此格式。