Javascript 如何向jQuery对象添加新方法?
有什么方法可以向jQuery的对象添加方法吗 例如,我有jQuery对象Javascript 如何向jQuery对象添加新方法?,javascript,jquery-plugins,methods,jquery,Javascript,Jquery Plugins,Methods,Jquery,有什么方法可以向jQuery的对象添加方法吗 例如,我有jQuery对象 a = $('div') 我希望这样分配的每个对象都有特定的方法(doSomething()),这样我就可以像这样调用它 a = $('.foo') a.doSomething() b = $('.bar') b.doSomething() 加起来像 $.fn.doSomething = function(data){ // data is the argument passed to doSomething
a = $('div')
我希望这样分配的每个对象都有特定的方法(doSomething()
),这样我就可以像这样调用它
a = $('.foo')
a.doSomething()
b = $('.bar')
b.doSomething()
加起来像
$.fn.doSomething = function(data){
// data is the argument passed to doSomething
return this.each(function(){
var elem = $(this);
//perform operation on elem
// like to change background color use
elem.css('background-color','red');
});
}
您必须将函数添加到
$.fn
命名空间中。请注意,在函数内部,这个
将引用jQuery对象,而不是DOM对象
$.fn.doSomething = function () {
this.css('color', 'red');
};
$('#retk').doSomething();
请阅读更多指南。我只想指出,这将影响创建的任何jQuery对象。@jAndy更新了答案,您现在可以检查并确认它是否正确。
.css()
方法在这里不是一个很好的示例,使用.each()
毫无意义。