为什么回归"这"在这个函数中:
(function($) {
$.fn.menumaker = function(options) {
var cssmenu = $(this), settings = $.extend({
title: "Menu",
format: "dropdown",
sticky: false
}, options);
return this.each(function() {
this
是" DOM元素" ?如果我们想要使用该函数的内容,为什么不引用$(this)
来使用我们定位的元素,而不是this
?
由于
答案 0 :(得分:6)
jQuery方法($.fn
的属性)与jQuery事件处理程序回调不同。 this
的值是jQuery对象本身,而不是DOM元素。
$.fn
对象是jQuery实例的原型对象,所以当你创建一个jQuery对象时
var jq = $(something);
然后调用jQuery方法:
jq.whatever();
JavaScript的自然this
规则确定将使用jQuery对象作为whatever()
的值调用this
。