这应该很容易。
如何编写一个获取'调用'对象和一些参数的jquery函数。
我的功能代码:
new function($) {
$.fn.addcolor = function(param1, param2, param3, param4) {
// here i would like to retrieve the 'caller' object (div.foo in this case)
}
} (jQuery);
我的代码'调用'函数:
$('div.foo').click(function() {
$(this).addcolor(1, 2, 3, 4);
});
我可以得到params没有问题,但我想在函数中获取div.foo的内容并添加一些内容。
答案 0 :(得分:2)
您正在寻找this
。
$.fn
原型上的常规方法。 (jQuery将$
分配给$.fn
)$.prototype
获取调用它的上下文。
答案 1 :(得分:2)
在addcolor
插件中,this
将代表调用插件的jQuery对象。
// v---jQuery object
$(this).addcolor(1, 2, 3, 4);
(function($) {
$.fn.addcolor = function(param1, param2, param3, param4) {
// here "this" is the same object
// this[ 0 ] to get the first DOM element
// this.each(function(... to iterate over the collection
}
})(jQuery);
答案 2 :(得分:2)
在jQuery插件函数中,该元素由此引用。
function($) {
$.fn.addcolor = function(param1, param2, param3, param4) {
// here i would like to retrieve the 'caller' object (div.foo in this case)
var divcontent = $(this).html();
}
} (jQuery);
答案 3 :(得分:1)
这就是一种方式......
还有一个可以调用的参数对象。即:arguments.length或arguments [“parm”]
答案 4 :(得分:0)
扩展我使用的jQuery:
(function($) {
$.fn.extend({
addcolor: function(param1, param2, param3, param4) {
return this.empty().append(something);
}
});
})(jQuery);