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

Why is SEO a non-negotiable part of modern marketing?

In a world where digital presence is paramount, the question isn't whether you should do…

16 hours ago

Innovations in Hair Care: Exploring Breakthroughs for Lasting Results

Over the years, people have experimented with various methods to maintain healthy and beautiful hair.…

2 days ago

How To Strengthen Your Brand-Building Efforts?

Your brand more than developing an attractive and creative logo and infectious motto. It's the…

3 days ago

How To Be Successful And Maximize Compensation In A Personal Injury Case

Introduction Are you someone who has suffered from a personal injury and want to file…

3 days ago

What Are The Biggest Challenges Of Working From Home?

Operating from home has emerged as one of the most popular ways of doing jobs…

4 days ago

Art As An Asset: Will NFT’s Help You Survive Hyperinflation?

If the consequences of our society’s ever-growing debt are what worries you, then it is…

5 days ago