NOTE: I know similar questions have already been asked here and here, but I'm looking for additional clarification as to how to make this work or good reasons for avoiding it entirely.
I'm adding functionality to an existing web site that is already using an older version of the jQuery library (1.1.3.1). I've been writing my added functionality against the newest version of the jQuery library (1.4.2). I've tested the website using only the newer version of jQuery and it breaks functionality, so now I'm looking at using both versions on the same page. How is this possible?
What do I need to do in my code to specify that I'm using one version of jQuery instead of another? For example, I'll put <script>
tags for both versions of jQuery in the header of my page, but what do I need to do so that I know for sure in my calling code that I'm calling one version of the library or another?
Maybe something like this:
//Put some code here to specify a variable that will be using the newer
//version of jquery:
var $NEW = jQuery.theNewestVersion();
//Now when I use $NEW, I'll know it's the newest version and won't
//conflict with the older version.
$NEW('#personName').text('Ben');
//And when I use the original $ in code, or simply 'jquery', I'll know
//it's the older version.
$('#personName').doSomethingWithTheOlderVersion();
UPDATE: After reading some of the answers, I'm starting to wonder if it's even a good idea to try to play this game at all...
You can use the jQuery noConflict method to achieve this.
<script type="text/javascript" src="jquery-1.1.3.js"></script>
<script type="text/javascript" src="jquery-1.4.2.js"></script>
<script type="text/javascript">
//Here, $ refers to the most recent jquery script loaded, which is version 1.4.2.
$.noConflict();
//Here, jQuery refers to 1.4.2 and $ refers to 1.1.3
//You can setup an alias like so:
var $NEW = jQuery;
//Now, you can use old jQuery with $ and new jQuery with $NEW.
</script>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With