"$."同理也很好理解了,用來表示后面調用的是jQuery的方法。 他和"jQuery."等價;比如:
$.trim(" like ");jQuery.trim(" like "); 兩種寫法等價。另外,由于"$"是jQuery的別名,這個符號可能在同時引用多個JavaScript庫時發生沖突。jQuery提供了jQuery.noConflict()這個函數來解決這個問題以下是api中的內容:jQuery.noConflict()
運行這個函數將變量$的控制權讓渡給第一個實現它的那個庫。這有助于確保jQuery不會與其他庫的$對象發生沖突。在運行這個函數后,就只能使用jQuery變量訪問jQuery對象。例如,在要用到$("div p")的地方,就必須換成jQuery("div p")。注意:這個函數必須在你導入jQuery文件之后,并且在導入另一個導致沖突的庫之前使用。當然也應當在其他沖突的庫被使用之前,除非jQuery是最后一個導入的。
示例
將$引用的對象映射回原始的對象。
jQuery 代碼:
jQuery.noConflict();
// 使用 jQuery
jQuery("div
p").hide();
// 使用其他庫的 $()
$("content").style.display = 'none';
--------------------------------------------------------------------------------
恢復使用別名$,然后創建并執行一個函數,在這個函數的作用域中仍然將$作為jQuery的別名來使用。在這個函數中,原來的$對象是無效的。這個函數對于大多數不依賴于其他庫的插件都十分有效。
jQuery 代碼:
jQuery.noConflict();
(function($) {
$(function()
{
// 使用 $ 作為 jQuery 別名的代碼
});
})(jQuery);
// 其他用 $ 作為別名的庫的代碼
--------------------------------------------------------------------------------
創建一個新的別名用以在接下來的庫中使用jQuery對象。
jQuery 代碼:
var j = jQuery.noConflict();
// 基于 jQuery 的代碼
j("div
p").hide();
// 基于其他庫的 $() 代碼
$("content").style.display = 'none';
還有一個更強勢的
jQuery.noConflict(extreme)
將$和jQuery的控制權都交還給原來的庫。用之前請考慮清楚!
這是相對于簡單的 noConflict 方法更極端的版本,因為這將完全重新定義jQuery。這通常用于一種極端的情況,比如你想要將jQuery嵌入一個高度沖突的環境。注意:調用此方法后極有可能導致插件失效。
--------------------------------------------------------------------------------
Revert control of both the $ and jQuery variables to their original owners. Use with discretion.
This is a more-extreme version of the simple noConflict method, as this one will completely undo what jQuery has introduced. This is to be used in an extreme case where you'd like to embed jQuery into a high-conflict environment. NOTE: It's very likely that plugins won't work after this particular method has been called.
返回值
jQuery
參數
extreme (Boolean) : 傳入 true 來允許徹底將jQuery變量還原
示例
完全將 jQuery 移到一個新的命名空間。
jQuery 代碼:
var dom = {};
dom.query = jQuery.noConflict(true);
結果:
// 新 jQuery 的代碼
dom.query("div p").hide();
// 另一個庫 $() 的代碼
$("content").style.display = 'none';
// 另一個版本 jQuery 的代碼
jQuery("div > p").hide();