工具
注:jQuery都可替換為$
瀏覽器
jQuery.browser():瀏覽器內核標識。依據 navigator.userAgent 判斷。
可用值: safari opera msie mozilla
在 Microsoft's Internet Explorer 瀏覽器中返回 true。
代碼:$.browser.msie
僅在 Safari 中提示 "this is safari!" 。
代碼:
if ($.browser.safari) {
alert("this is safari!");
}
jQuery.browser.version():瀏覽器渲染引擎版本號
典型結果:
Internet Explorer: 6.0, 7.0
Mozilla/Firefox/Flock/Camino: 1.7.12, 1.8.1.3
Opera: 9.20
Safari/Webkit: 312.8, 418.9
if ( $.browser.msie )
alert( $.browser.version );
jQuery.boxModel():當前頁面中瀏覽器是否使用標準盒模型渲染頁面
在 Internet Explorer 怪癖模式(QuirksMode)中返回 False。
代碼:$.boxModel
數組和對象操作
jQuery.each(obj,callback):通用例遍方法,可用于例遍對象和數組。
代碼:例遍數組,同時使用元素索引和內容。
$.each( [0,1,2], function(i, n){
alert( "Item #" + i + ": " + n );
});
代碼:例遍對象,同時使用成員名稱和變量內容。
$.each( { name: "John", lang: "JS" }, function(i, n){
alert( "Name: " + i + ", Value: " + n );
});
jQuery.extend(target,obj1,objN):用一個或多個其他對象來擴展一個對象,返回被擴展的對象
代碼:合并 settings 和 options,修改并返回 settings。
var settings = { validate: false, limit: 5, name: "foo" };
var options = { validate: true, name: "bar" };
jQuery.extend(settings, options);
結果:settings == { validate: true, limit: 5, name: "bar" }
代碼:合并 defaults 和 options, 不修改 defaults。
var empty = {}
var defaults = { validate: false, limit: 5, name: "foo" };
var options = { validate: true, name: "bar" };
var settings = jQuery.extend(empty, defaults, options);
結果:
settings == { validate: true, limit: 5, name: "bar" }
empty == { validate: true, limit: 5, name: "bar" }
jQuery.grep(array,callback,invert):使用過濾函數過濾數組元素
代碼:過濾數組中小于 0 的元素。
$.grep( [0,1,2], function(n,i){
return n > 0;
});
結果:[1, 2]
代碼:排除數組中大于 0 的元素,使用第三個參數進行排除。
$.grep( [0,1,2], function(n,i){
return n > 0;
}, true);
結果:[0]
jQuery.makeArray(obj):將類數組對象轉換為數組對象
<div>First</div><div>Second</div><div>Third</div><div>Fourth</div>
代碼:過濾數組中小于 0 的元素。
var arr = jQuery.makeArray(document.getElementsByTagName("div"));
arr.reverse(); // 使用數組翻轉函數
結果:
Fourth
Third
Second
First
jQuery.map(array,callback):將一個數組中的元素轉換到另一個數組中
代碼:將原數組中每個元素加 4 轉換為一個新數組。
$.map( [0,1,2], function(n){
return n + 4;
});
結果:[4, 5, 6]
代碼:原數組中大于 0 的元素加 1 ,否則刪除。
$.map( [0,1,2], function(n){
return n > 0 ? n + 1 : null;
});
結果:[2, 3]
代碼:原數組中每個元素擴展為一個包含其本身和其值加 1 的數組,并轉換為一個新數組。
$.map( [0,1,2], function(n){
return [ n, n + 1 ];
});
結果:[0, 1, 1, 2, 2, 3]
jQuery.unique(array):刪除數組中重復元素
代碼:刪除重復 div 標簽。
$.unique(document.getElementsByTagName("div"));
結果:<div>, <div>, ...
測試操作
jQuery.isFunction(obj):測試對象是否為函數
代碼:檢測是否為函數
function stub() {}
var objs = [
function () {},
{ x:15, y:20 },
null,
stub,
"function"
];
jQuery.each(objs, function (i) {
var isFunc = jQuery.isFunction(objs[i]);
$("span:eq( " + i + ")").text(isFunc);
});
結果: true,false,false,true,false
字符串操作
jQuery.trim(str):去掉字符串起始和結尾的空格
$.trim(" hello, how are you? "); 結果:"hello, how are you?"
--
學海無涯