jQuery中為我們提供了很多有用的方法和屬性,自己總結(jié)的一些常用的函數(shù),方法。僅供大家學(xué)習(xí)和參考。
事件處理
ready(fn)
代碼:
$(document).ready(function(){
// Your code here...
});
作用:它可以極大地提高web應(yīng)用程序的響應(yīng)速度。通過(guò)使用這個(gè)方法,可以在DOM載入就緒能夠讀取并操縱時(shí)立即調(diào)用你所綁定的函數(shù),而99.99%的JavaScript函數(shù)都需要在那一刻執(zhí)行。
bind(type,[data],fn)
代碼:
$("p").bind("click", function(){
alert( $(this).text() );
});
作用:為每一個(gè)匹配元素的特定事件(像click)綁定一個(gè)事件處理器函數(shù)。起到事件監(jiān)聽(tīng)的作用。
toggle(fn,fn)
代碼:
$("td").toggle(
function () {
$(this).addClass("selected");
},
function () {
$(this).removeClass("selected");
}
);
作用:每次點(diǎn)擊時(shí)切換要調(diào)用的函數(shù)。如果點(diǎn)擊了一個(gè)匹配的元素,則觸發(fā)指定的第一個(gè)函數(shù),當(dāng)再次點(diǎn)擊同一元素時(shí),則觸發(fā)指定的第二個(gè)函數(shù)。挺有趣的一個(gè)函數(shù),在動(dòng)態(tài)實(shí)現(xiàn)某些功能的時(shí)候可能會(huì)用到。
(像click(),focus(),keydown()這樣的事件這里就不提了,那些都是開(kāi)發(fā)中比較常用到的。)
外觀(guān)效果
addClass(class)和removeClass(class)
代碼:
$(".stripe tr").mouseover(function(){
$(this).addClass("over");}).mouseout(function(){
$(this).removeClass("over");})
});
也可以寫(xiě)成:
$(".stripe tr").mouseover(function() { $(this).addClass("over") });
$(".stripe tr").mouseout(function() { $(this).removeClass("over") });
作用:為指定的元素添加或移除樣式,從而實(shí)現(xiàn)動(dòng)態(tài)的樣式效果,上面的實(shí)例中實(shí)現(xiàn)鼠標(biāo)移動(dòng)雙色表格的代碼。
css(name,value)
代碼:
$("p").css("color","red");
作用:很簡(jiǎn)單,就是在匹配的元素中,設(shè)置一個(gè)樣式屬性的值。這個(gè)個(gè)人感覺(jué)和上面的addClass(class)有點(diǎn)類(lèi)似。
slide(),hide(),fadeIn(), fadeout(), slideUp() ,slideDown()
代碼:
$("#btnShow").bind("click",function(event){ $("#divMsg").show() });
$("#btnHide").bind("click",function(evnet){ $("#divMsg").hide() });
作用:jQuery中提供的比較常用的幾個(gè)動(dòng)態(tài)效果的函數(shù)。還可以添加參數(shù):show(speed,[callback])以?xún)?yōu)雅的動(dòng)畫(huà)顯示所有匹配的元素,并在顯示完成后可選地觸發(fā)一個(gè)回調(diào)函數(shù)。
animate(params[,duration[,easing[,callback]]])
作用:制作動(dòng)畫(huà)效果用到的函數(shù),功能非常的強(qiáng)大,可以連續(xù)使用此函數(shù)。
查找篩選
map(callback)
HTML 代碼:
<p><b>Values: </b></p>
<form>
<input type="text" name="name" value="John"/>
<input type="text" name="password" value="password"/>
<input type="text" name="url" value="http://ejohn.org/%22/>
</form>
jQuery 代碼:
$("p").append( $("input").map(function(){
return $(this).val();
}).get().join(", ") );
結(jié)果:
[ <p>John, password, http://ejohn.org/%3C/p> ]
作用:將一組元素轉(zhuǎn)換成其他數(shù)組(不論是否是元素?cái)?shù)組)你可以用這個(gè)函數(shù)來(lái)建立一個(gè)列表,不論是值、屬性還是CSS樣式,或者其他特別形式。這都可以用'$.map()'來(lái)方便的建立。
find(expr)
HTML 代碼:
<p><span>Hello</span>, how are you?</p>
jQuery 代碼:
$("p").find("span")
結(jié)果:
[ <span>Hello</span> ]
作用:搜索所有與指定表達(dá)式匹配的元素。這個(gè)函數(shù)是找出正在處理的元素的后代元素的好方法。
文檔處理
attr(key,value)
HTML 代碼:
<img/><img/>
jQuery 代碼:
$("img").attr("src","test.jpg");
作用:取得或設(shè)置匹配元素的屬性值。通過(guò)這個(gè)方法可以方便地從第一個(gè)匹配元素中獲取一個(gè)屬性的值。如果元素沒(méi)有相應(yīng)屬性,則返回 undefined 。在控制HTML標(biāo)記上是必備的工具。
html()/html(val)
HTML 代碼:
<div><p>Hello</p></div>
jQuery 代碼:
$("div").html();
結(jié)果:
<p>Hello</p>
作用:取得或設(shè)置匹配元素的html內(nèi)容,同類(lèi)型的方法還有text()和val()。前者是取得所有匹配元素的內(nèi)容。,后者是獲得匹配元素的當(dāng)前值。三者有相似的地方常用在內(nèi)容的操作上。
wrap(html)
HTML 代碼:
<p>Test Paragraph.</p>
jQuery 代碼:
$("p").wrap("<div class='wrap'></div>");
結(jié)果:
<div class="wrap"><p>Test Paragraph.</p></div>
作用:把所有匹配的元素用其他元素的結(jié)構(gòu)化標(biāo)記包裹起來(lái)。
這種包裝對(duì)于在文檔中插入額外的結(jié)構(gòu)化標(biāo)記最有用,而且它不會(huì)破壞原始文檔的語(yǔ)義品質(zhì)。 可以靈活的修改我們的DOM。
empty()
HTML 代碼:
<p>Hello, <span>Person</span> <a href="#">and person</a></p>
jQuery 代碼:
$("p").empty();
結(jié)果:
<p></p>
作用:刪除匹配的元素集合中所有的子節(jié)點(diǎn)。
Ajax處理
load(url,[data],[callback])
url (String) : 待裝入 HTML 網(wǎng)頁(yè)網(wǎng)址。
data (Map) : (可選) 發(fā)送至服務(wù)器的 key/value 數(shù)據(jù)。
callback (Callback) : (可選) 載入成功時(shí)回調(diào)函數(shù)。
代碼:
$("#feeds").load("feeds.aspx", {limit: 25}, function(){
alert("The last 25 entries in the feed have been loaded");
});
作用:載入遠(yuǎn)程 HTML 文件代碼并插入至 DOM 中。這也是Jquery操作Ajax最常用最有效的方法。
serialize()
HTML 代碼:
<p id="results"><b>Results: </b> </p>
<form>
<select name="single">
<option>Single</option>
<option>Single2</option>
</select>
<select name="multiple" multiple="multiple">
<option selected="selected">Multiple</option>
<option>Multiple2</option>
<option selected="selected">Multiple3</option>
</select><br/>
<input type="checkbox" name="check" value="check1"/> check1
<input type="checkbox" name="check" value="check2"
checked="checked"/> check2
<input type="radio" name="radio" value="radio1"
checked="checked"/> radio1
<input type="radio" name="radio" value="radio2"/> radio2
</form>
jQuery 代碼:
$("#results").append( "<tt>" + $("form").serialize() + "</tt>" );
作用:序列化表格內(nèi)容為字符串。用于 Ajax 請(qǐng)求。
工具
jQuery.each(obj,callback)
代碼:
$.each( [0,1,2], function(i, n){
alert( "Item #" + i + ": " + n );
});//遍歷數(shù)組
$.each( { name: "John", lang: "JS" }, function(i, n){
alert( "Name: " + i + ", Value: " + n );//遍歷對(duì)象
});
作用:通用例遍方法,可用于例遍對(duì)象和數(shù)組。
jQuery.makeArray(obj)
HTML 代碼:
<div>First</div><div>Second</div><div>Third</div><div>Fourth</div>
jQuery 代碼:
var arr = jQuery.makeArray(document.getElementsByTagName("div"));
結(jié)果:
Fourth
Third
Second
First
作用:將類(lèi)數(shù)組對(duì)象轉(zhuǎn)換為數(shù)組對(duì)象。使我們可以在數(shù)組和對(duì)象之間靈活的轉(zhuǎn)換。
jQuery.trim(str)
作用:這個(gè)大家應(yīng)該很熟悉,就是去掉字符串起始和結(jié)尾的空格。