工具
注:jQuery都可替換為$
瀏覽器
jQuery.browser():瀏覽器內(nèi)核標識。依據(jù) 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():瀏覽器渲染引擎版本號
典型結(jié)果:
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
數(shù)組和對象操作
jQuery.each(obj,callback):通用例遍方法,可用于例遍對象和數(shù)組。
代碼:例遍數(shù)組,同時使用元素索引和內(nèi)容。
$.each( [0,1,2], function(i, n){
alert( "Item #" + i + ": " + n );
});
代碼:例遍對象,同時使用成員名稱和變量內(nèi)容。
$.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);
結(jié)果: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);
結(jié)果:
settings == { validate: true, limit: 5, name: "bar" }
empty == { validate: true, limit: 5, name: "bar" }
jQuery.grep(array,callback,invert):使用過濾函數(shù)過濾數(shù)組元素
代碼:過濾數(shù)組中小于 0 的元素。
$.grep( [0,1,2], function(n,i){
return n > 0;
});
結(jié)果:[1, 2]
代碼:排除數(shù)組中大于 0 的元素,使用第三個參數(shù)進行排除。
$.grep( [0,1,2], function(n,i){
return n > 0;
}, true);
結(jié)果:[0]
jQuery.makeArray(obj):將類數(shù)組對象轉(zhuǎn)換為數(shù)組對象
<div>First</div><div>Second</div><div>Third</div><div>Fourth</div>
代碼:過濾數(shù)組中小于 0 的元素。
var arr = jQuery.makeArray(document.getElementsByTagName("div"));
arr.reverse(); // 使用數(shù)組翻轉(zhuǎn)函數(shù)
結(jié)果:
Fourth
Third
Second
First
jQuery.map(array,callback):將一個數(shù)組中的元素轉(zhuǎn)換到另一個數(shù)組中
代碼:將原數(shù)組中每個元素加 4 轉(zhuǎn)換為一個新數(shù)組。
$.map( [0,1,2], function(n){
return n + 4;
});
結(jié)果:[4, 5, 6]
代碼:原數(shù)組中大于 0 的元素加 1 ,否則刪除。
$.map( [0,1,2], function(n){
return n > 0 ? n + 1 : null;
});
結(jié)果:[2, 3]
代碼:原數(shù)組中每個元素擴展為一個包含其本身和其值加 1 的數(shù)組,并轉(zhuǎn)換為一個新數(shù)組。
$.map( [0,1,2], function(n){
return [ n, n + 1 ];
});
結(jié)果:[0, 1, 1, 2, 2, 3]
jQuery.unique(array):刪除數(shù)組中重復元素
代碼:刪除重復 div 標簽。
$.unique(document.getElementsByTagName("div"));
結(jié)果:<div>, <div>, ...
測試操作
jQuery.isFunction(obj):測試對象是否為函數(shù)
代碼:檢測是否為函數(shù)
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);
});
結(jié)果: true,false,false,true,false
字符串操作
jQuery.trim(str):去掉字符串起始和結(jié)尾的空格
$.trim(" hello, how are you? "); 結(jié)果:"hello, how are you?"
--
學海無涯