DO YOU NEED A CONTENT WRITER FOR YOUR BUSINESS?

Your One-Stop Solution for All Content Needs! Click here for more!
jQuery

Difference between jQuery.extend and jQuery.fn.extend

Share

There is a significant difference between using jQuery extend() with passing one argument and doing it with two or more arguments.

Basically, jQuery.extend() merge the contents of two or more objects into the first object.

$.extend() is used to extend any object with additional functions but $.fn.extend() is used to extend the $.fn object, which in fact adds several plugin functions in one go instead of assigning each function separately.

$.extend:

var obj = { x: function() {} }
$.extend(obj, { y: function() {} });

$.fn.extend:

$.fn.extend( {
x: function() {},
y: function() {}
});
A simple example for $.extend():
<script>
var obj1 = {
apple: 5,
banana: { weight: 100, price: 200 },
cherry: 95
};
var obj2 = {
banana: { price: 400 },
durian: 200
};

$.extend( obj1, obj2 );
console.log( JSON.stringify( obj1 ) );
</script>

Result:
{“apple”:5,”banana”:{“price”:400},”cherry”:95,”durian”:200}

For more details see jQuery reference page.

A simple example for $.fn.extend():
<div>
<input type="checkbox" name="chkA"> A
<input type="checkbox" name="chkB"> B
</div>
<script>
$.fn.extend({
check: function() {
return this.each(function() {
this.checked = true;
});
},
uncheck: function() {
return this.each(function() {
this.checked = false;
});
}
});

$( "input[type='checkbox']" ).check();
</script>

Result:
All checkbox will be checked.

For more details see jQuery reference page.

When jQuery .extend() receives a single object then it adds the methods defined to it to either the jQuery or the jQuery.fn objects.

When jQuery .extend() receives two or more objects then it takes the first object and adds to it the methods and variables defined in the other objects.

Read Also:

Different way of calling a method when extending the jQuery.fn or jQuery objects:

<script>
$.extend({
methodOne: function(){...}
});
</script>

jQuery.methodOne();
<script>
$.fn.extend({
methodTwo: function(){...}
});
</script>

jQuery("div").methodTwo();
Namaste UI

For any types of queries, you can contact us on info[at]namasteui.com.

Recent Posts

Flawless Prize Fulfilment and Management That Takes Your Marketing Campaigns to the Next Level

In today’s fast-paced and highly competitive marketing environment, even the most creative campaign is only…

1 day ago

Moving company Zeromax in NYC

We are NYC moving firm. Are you planning a flat move? Maybe a distance or…

5 days ago

Mobile testing: An important task for smooth functioning of the device

Mobile devices, unlike desktops and laptops, can not be handled by dozens or hundreds of…

6 days ago

Augmented Reality in Education is Blowing Up the Candles!

Augmented Reality- An immersive experience for the learners! Learning and education aren’t the same as…

1 week ago

Here Are 4 Diamond Studs for You to Gift Your Special Ones

On special days like birthdays and weddings, we all like to celebrate our loved ones…

1 week ago

7 Best Web Application Development Tools

A web application is different from a regular mobile or desktop application as it runs…

1 week ago