Easily handle jQuery.noConflict()_jquery
jQuery is one of the most widely used front-end frameworks, and a large number of third-party libraries and plug-ins are developed based on it. In order to avoid global namespace pollution, jQuery provides the jQuery.noConflict() method to resolve variable conflicts. This method is, without a doubt, very effective. Unfortunately, jQuery's official documentation does not describe this method clearly enough, and many developers do not know what exactly happens when they call jQuery.noConflict(), resulting in many problems when using it. Despite this, the implementation principle behind jQuery.noConflict() is still worth learning and mastering by web developers, and it can become a powerful tool to solve problems like global namespace pollution.
What is the role of jQuery.noConflict()?
jQuery.noConflict() exists for only one purpose: it allows you to load multiple jQuery instances on the same page, especially different versions of jQuery. You may be wondering, why do you need to load/use multiple different versions of jQuery objects on one page? Generally speaking, there are two situations. In the first case, your business code uses the latest version of the jQuery library, and the third-party plug-in you choose relies on an earlier version of the jQuery library; in the second case, you are maintaining a system that already has business For various reasons, the code references an older version of the jQuery library, and your newly developed module uses other versions of the jQuery library. In either case, you have to face the problem of jQuery object/method conflicts. Fortunately, jQuery.noConflict() helps you solve this trouble.
What happens when jQuery is loaded?
When jQuery is referenced/loaded by the page, it is encapsulated in a self-executing function (anonymous function). All variables, functions, and objects it provides are within the executable environment inside the anonymous function and cannot be called by the external environment. Prevent global namespace pollution.
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
jQuery defines two global objects: jQuery and $ inside the anonymous function, exposing itself to the external environment. Various public methods used by developers are accessed through these two objects, such as jQuery.ajax(), jQuery.css(), etc. Initially, they point to the same object jQuery (private variables) inside the anonymous function, through which private variables and functions inside the anonymous function are accessed. This allows the internal private variables and functions of the anonymous function to still reside in the memory after it is executed, and will not be cleared by the JavaScript garbage collection mechanism.
window.jQuery = window.$ = jQuery;
When jQuery is loaded by the page, the current page may already have the two global variables jQuery and $ (for example, other third-party libraries are loaded and they are also defined internally), which will cause the Existing objects are overwritten (global namespace pollution). In order to solve this problem, jQuery internally caches the existing global variables and saves them in private variables _jQuery and _$ for subsequent calls. Therefore, if the jQuery and $ objects do not yet exist when the jQuery library is loaded on the page, then _jQuery and _$ are both undefined; otherwise, they will save references to the existing jQuery and $ (perhaps from the third-party library referenced before) Or a different version of the jQuery library). Afterwards, jQuery will overwrite these two global variables and expose itself to the external environment as described above. At this point, the global variables jQuery and $ on the page have pointed to the jQuery library just introduced.
// Map over jQuery in case of overwrite _jQuery = window.jQuery, // Map over the $ in case of overwrite _$ = window.$, // Otherwise expose jQuery to the global object as usual window.jQuery = window.$ = jQuery;
The magical effect of jQuery.noConflict()?
Suppose the system you maintain already references the jQuery library version 1.7.0, and you reference the jQuery library version 1.10.2 in the newly added functions. So, is there any way to reuse jQuery 1.7.0 or use both versions of the jQuery library at the same time? The answer is yes, that is jQuery.noConflict(). In fact, using jQuery.noConflict(), you can immediately redirect the global variables jQuery and $ to the previously referenced objects. Amazing, right? This is why jQuery internally caches previously referenced objects before exposing itself to the outside world.
− jQuery.noConflict() accepts an optional Boolean parameter, usually the default value is false. What impact will this parameter have? Actually, it's very simple. If jQuery.noConflict() or jQuery.noConflict(false) is called, only the global variable $ will be reset to its previous reference value; if jQuery.noConflict() or jQuery.noConflict(true) is called, then the global variable $ will be reset to its previous reference value. Both jQuery and $ will be reset to their previous reference values. This is very important and is recommended to be kept in mind. When you call jQuery.noConflict(false/true), it will return the current jQuery instance. Using this feature, we can rename jQuery.
// "Renaming" jQuery var jayquery = jQuery.noConflict( true ); // Now we can call things like jayquery.ajax(), jayquery.css(), and so on
Let’s look at another code snippet to test whether we really understand the magical noConflict()
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>![]()
Hot AI Tools
![]()
Undresser.AI Undress
AI-powered app for creating realistic nude photos
![]()
AI Clothes Remover
Online AI tool for removing clothes from photos.
![]()
Undress AI Tool
Undress images for free
![]()
Clothoff.io
AI clothes remover
![]()
Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!
![]()
Hot Article
Assassin's Creed Shadows: Seashell Riddle Solution3 weeks ago By DDDWhat's New in Windows 11 KB5054979 & How to Fix Update Issues2 weeks ago By DDDWhere to find the Crane Control Keycard in Atomfall3 weeks ago By DDDAssassin's Creed Shadows - How To Find The Blacksmith And Unlock Weapon And Armour Customisation1 months ago By DDDRoblox: Dead Rails - How To Complete Every Challenge3 weeks ago By DDD![]()
Hot Tools
![]()
Notepad++7.3.1
Easy-to-use and free code editor
![]()
SublimeText3 Chinese version
Chinese version, very easy to use
![]()
Zend Studio 13.0.1
Powerful PHP integrated development environment
![]()
Dreamweaver CS6
Visual web development tools
![]()
SublimeText3 Mac version
God-level code editing software (SublimeText3)
![]()
Hot Topics
CakePHP Tutorial1389
52

Detailed explanation of jQuery reference method: Quick start guide jQuery is a popular JavaScript library that is widely used in website development. It simplifies JavaScript programming and provides developers with rich functions and features. This article will introduce jQuery's reference method in detail and provide specific code examples to help readers get started quickly. Introducing jQuery First, we need to introduce the jQuery library into the HTML file. It can be introduced through a CDN link or downloaded

How to use PUT request method in jQuery? In jQuery, the method of sending a PUT request is similar to sending other types of requests, but you need to pay attention to some details and parameter settings. PUT requests are typically used to update resources, such as updating data in a database or updating files on the server. The following is a specific code example using the PUT request method in jQuery. First, make sure you include the jQuery library file, then you can send a PUT request via: $.ajax({u

jQuery is a fast, small, feature-rich JavaScript library widely used in front-end development. Since its release in 2006, jQuery has become one of the tools of choice for many developers, but in practical applications, it also has some advantages and disadvantages. This article will deeply analyze the advantages and disadvantages of jQuery and illustrate it with specific code examples. Advantages: 1. Concise syntax jQuery's syntax design is concise and clear, which can greatly improve the readability and writing efficiency of the code. for example,

How to remove the height attribute of an element with jQuery? In front-end development, we often encounter the need to manipulate the height attributes of elements. Sometimes, we may need to dynamically change the height of an element, and sometimes we need to remove the height attribute of an element. This article will introduce how to use jQuery to remove the height attribute of an element and provide specific code examples. Before using jQuery to operate the height attribute, we first need to understand the height attribute in CSS. The height attribute is used to set the height of an element

Title: jQuery Tips: Quickly modify the text of all a tags on the page In web development, we often need to modify and operate elements on the page. When using jQuery, sometimes you need to modify the text content of all a tags in the page at once, which can save time and energy. The following will introduce how to use jQuery to quickly modify the text of all a tags on the page, and give specific code examples. First, we need to introduce the jQuery library file and ensure that the following code is introduced into the page: <

Title: Use jQuery to modify the text content of all a tags. jQuery is a popular JavaScript library that is widely used to handle DOM operations. In web development, we often encounter the need to modify the text content of the link tag (a tag) on the page. This article will explain how to use jQuery to achieve this goal, and provide specific code examples. First, we need to introduce the jQuery library into the page. Add the following code in the HTML file:

jQuery is a popular JavaScript library that is widely used to handle DOM manipulation and event handling in web pages. In jQuery, the eq() method is used to select elements at a specified index position. The specific usage and application scenarios are as follows. In jQuery, the eq() method selects the element at a specified index position. Index positions start counting from 0, i.e. the index of the first element is 0, the index of the second element is 1, and so on. The syntax of the eq() method is as follows: $("s

How to tell if a jQuery element has a specific attribute? When using jQuery to operate DOM elements, you often encounter situations where you need to determine whether an element has a specific attribute. In this case, we can easily implement this function with the help of the methods provided by jQuery. The following will introduce two commonly used methods to determine whether a jQuery element has specific attributes, and attach specific code examples. Method 1: Use the attr() method and typeof operator // to determine whether the element has a specific attribute
