jQuery - Avoid conflicts with other libraries

We are often encounter the problem of incompatibility between javascript libraries at create our website.

jQuery developers have thought of this and therefore have included in your library the noConflict() function
to help us to solve the incompatibility of jQuery with other libraries or even with other versions of jQuery.

First of all, let's see how the noConflict() function works .
As we know, jQuery uses the $ symbol as a short form to avoid us use the word jQuery.
Once the jQuery library is loaded, it creates an internal variable called _$ establishing the value
that already existed in the variable $ (If any) before setting it as its variable ($ = jQuery).
Likewise, the same is done with jQuery variable that is loaded into _jQuery.

When we use the noConflict() function, the variable $ reverts to the value it had previously
to load our library jQuery and if we pass that function the value true will do the same with the jQuery variable.
The function returns the current jQuery object before overwriting the previous value.

<!-- We load the jQuery library, at this point, jQuery and $ variables are overwritten and no longer have our strings. --><script type="text/javascript" src="jquery.min.js"></script>

<script type="text/javascript"> /* All the jQuery library is loaded into jQuery2 and jQuery and $ variables again have the strings we set at the beginning.*/ jQuery2 = jQuery.noConflict(true);

// From here we can use the jQuery2 object jQuery2(function() { jQuery2('body').append('Body text string'); });

// Alert message with the text "My object" alert(jQuery);</script>

It is possible to use the variable $ within our jQuery2 object by a parameter in function.
For example:
<script type="text/javascript"> jQuery2(function($) { $('body').append('Body text string'); });</script>
Here's an example using two versions of jQuery on the same file.
<script type="text/javascript" src="jquery-1.9.0.min.js"></script><script type="text/javascript"> // We spent the jQuery object to jQuery190 and leave empty the jQuery object and $ to load the next library. jQuery190 = jQuery.noConflict(true);</script>