DotnetDude
DotnetDude

Reputation: 11807

Difference between JQuery plugin and a function

When I look at the JQuery plugin code, it almost seems to me that we are creating a function (although we use the JQuery.fn syntax) Functionally, what's a difference between a function and a plugin?

Upvotes: 2

Views: 1696

Answers (3)

Nick Craver
Nick Craver

Reputation: 630419

A function is just a normal JavaScript function, for example:

function doSomething(param) {
  alert(param);
}

A plugin is intended to be run on a set of elements, for example:

jQuery.fn.plugin = function(param) {
  return this.attr('something', param);
}

This would set the 'something' attribute on all elements it was called on, like this:

$('.selector').plugin('value');

If you intend to use the function on a set of elements, like in a jQuery chain, then a plugin may be the answer for you...if you're just calling a function and doing stuff, really having nothing to do with a set of elements, use a plain named function.

Upvotes: 6

Gareth
Gareth

Reputation: 138042

The difference is that using $.fn means you can call the function chained onto any jQuery object

Upvotes: 0

bevacqua
bevacqua

Reputation: 48476

Basically a jQuery plugin is a function that is meant to extend jQuery's functionality, and can be applied to selectors more "naturally" than regular functions.

Upvotes: 3

Related Questions