$.browser() 判斷瀏覽器類型,返回boolen值 $(function(){
if($.browser.msie) {
alert("這是一個(gè)IE瀏覽器");}
else if($.browser.opera) {
alert("這是一個(gè)opera瀏覽器");}
})
當(dāng)頁(yè)面載入式判斷瀏覽器類型,可判斷的類型有msie、mozilla、opera、safari
$.each(obj, fn) obj為對(duì)象或數(shù)組,fn為在obj上依次執(zhí)行的函數(shù),注意區(qū)分$().each() $.each( [0,1,2], function(i){ alert( "Item #" + i + ": " + this ); });
分別將0,1,2為參數(shù),傳入到function(i)中 $.each({ name: "John", lang: "JS" }, function(i){ alert( "Name: " + i + ", Value: " + this );
{ name: "John", lang: "JS" }為一個(gè)hash對(duì)象,依次將hash中每組對(duì)象傳入到函數(shù)中
$.extend(obj, prop) 用第二個(gè)對(duì)象擴(kuò)展第一個(gè)對(duì)象 var settings = { validate: false, limit: 5, name: "foo" };
var options = { validate: true, name: "bar" };
$.extend(settings, options);
執(zhí)行后settings對(duì)象為{ validate: true, limit: 5, name: "bar" }
可以用下面函數(shù)來(lái)測(cè)試 $(function(){
var settings = { validate: false, limit: 5, name: "foo" };
var options = { validate: true, name: "bar" };
$.extend(settings, options);
$.each(settings, function(i){ alert( i + "=" + this ); });
})
$.grep(array,fn) 通過(guò)函數(shù)fn來(lái)過(guò)濾array,將array中的元素依次傳給fn,fn必須返回一個(gè)boolen,如fn返回true,將被過(guò)濾 $(function(){
var arr= $.grep( [0,1,2,3,4], function(i){ return i > 2; });
$.each(arr, function(i){ alert(i); });
})
我們可以看待執(zhí)行$.grep后數(shù)組[0,1,2,3,4]變成[0,1]
$.merge(first, second) 兩個(gè)參數(shù)都是數(shù)組,排出第二個(gè)數(shù)組中與第一個(gè)相同的,再將兩個(gè)數(shù)組合并 $(function(){
var arr = $.merge( [0,1,2], [2,3,4] )
$.each(arr, function(i){ alert(i); });
})
可以看出arr的結(jié)果為[0,1,2,3,4]
$.trim(str) 移出字符串兩端的空格
$.trim(" hello, how are you? ")的結(jié)果是"hello, how are you?"
五:動(dòng)態(tài)效果
在將這部分之前我們先看個(gè)例子,相信做網(wǎng)頁(yè)的朋友都遇到n級(jí)菜單的情景,但點(diǎn)擊某菜單按鈕時(shí),如果它的子菜單是顯示的,則隱藏子菜單,如果子菜單隱藏,則顯示出來(lái),傳統(tǒng)的javascript做法是先用getElementById取出子菜單所在容器的id,在判斷該容器的style.display是否等于none,如果等于則設(shè)為block,如果不等于這設(shè)為none,如果在將效果設(shè)置復(fù)雜一點(diǎn),當(dāng)點(diǎn)擊按鈕時(shí),不是忽然隱藏和顯示子菜單,而是高度平滑的轉(zhuǎn)變,這時(shí)就要通過(guò)setTimeout來(lái)設(shè)置子菜單的height了,再?gòu)?fù)雜一點(diǎn)透明度也平滑的消失和顯現(xiàn),這時(shí)顯現(xiàn)下來(lái)需要編寫很多代碼,如果js基礎(chǔ)不好的朋友可能只能從別人寫好的代碼拿過(guò)來(lái)修改了!jQuery實(shí)現(xiàn)上面效果只需要1句話就行,$("#a").toggle("slow"),,學(xué)完jQuery后還需要抄襲修改別人的代碼嗎?下面我們逐個(gè)介紹jQuery用于效果處理的方法。
hide() 隱藏匹配對(duì)象 <p id="a">Hello Again</p><a href="#" onClick=' ("#a").hide()'>jQuery</a>