jQuery事件處理
ready(fn)
代碼:
$(document).ready(function(){
// Your code here...
});
作用:它可以極大地提高web應用程序的響應速度。通過使用這個方法,可以在DOM載入就緒能夠讀取並操縱時立即調用你所綁定的函數,而99.99%的JavaScript函數都需要在那一刻執行。
bind(type,[data],fn)
代碼:
$("p").bind("click", function(){
alert( $(this).text() );
});
作用:為每一個匹配元素的特定事件(像click)綁定一個事件處理器函數。起到事件監聽的作用。
toggle(fn,fn)
代碼:
$("td").toggle(
function () {
$(this).addClass("selected");
},
function () {
$(this).removeClass("selected");
}
);
作用:每次點擊時切換要調用的函數。如果點擊了一個匹配的元素,則觸發指定的第一個函數,當再次點擊同一元素時,則觸發指定的第二個函數。挺有趣的一個函數,在動態實現某些功能的時候可能會用到。(像click(),focus(),keydown()這樣的事件這裡就不提了,那些都是開發中比較常用到的。)
jQuery外觀效果
addClass(class)和removeClass(class)
代碼:
$(".stripe tr").mouseover(function(){
$(this).addClass("over");}).mouseout(function(){
$(this).removeClass("over");})
});
也可以寫成:
$(".stripe tr").mouseover(function() { $(this).addClass("over") });
$(".stripe tr").mouseout(function() { $(this).removeClass("over") });
作用:為指定的元素添加或移除樣式,從而實現動態的樣式效果,上面的實例中實現鼠標移動雙色表格的代碼
css(name,value)
代碼:
$("p").css("color","red");
作用:很簡單,就是在匹配的元素中,設置一個樣式屬性的值。這個個人感覺和上面的addClass(class)有點類似。
slide(),hide(),fadeIn(), fadeout(), slideUp() ,slideDown()
代碼:
$("#btnShow").bind("click",function(event){ $("#divMsg").show() });
$("#btnHide").bind("click",function(evnet){ $("#divMsg").hide() });
作用:jQuery中提供的比較常用的幾個動態效果的函數。還可以添加參數:show(speed,[callback])以優雅的動畫顯示所有匹配的元素,並在顯示完成後可選地觸發一個回調函數。
animate(params[,duration[,easing[,callback]]])
作用:制作動畫效果用到的函數,功能非常的強大,可以連續使用此函數。
查找篩選
map(callback)
HTML 代碼:
Values:< INPUT value=John name=name>
< INPUT value=password name=password>
< INPUT value="< A href=" name=url ? %22 ejohn.org http:>http://ejohn.org/%22/< /A> < FORM>
jQuery 代碼:
< /FORM>
$("p").append( $("input").map(function(){
return $(this).val();
}).get().join(", ") );
結果:
[ John, password, < A href="http://ejohn.org/%3C/p">http://ejohn.org/%3C/p< /A>> ]
作用:將一組元素轉換成其他數組(不論是否是元素數組)你可以用這個函數來建立一個列表,不論是值、屬性還是CSS樣式,或者其他特別形式。這都可以用'$.map()'來方便的建立。
find(expr)
HTML 代碼:
< SPAN>Hello< /SPAN>, how are you?jQuery 代碼:$("p").find("span")
結果:[ < SPAN>Hello< /SPAN> ]
作用:搜索所有與指定表達式匹配的元素。這個函數是找出正在處理的元素的後代元素的好方法。
文檔處理
attr(key,value)
< IMG>< IMG>
$("img").attr("src","test.jpg");
作用:取得或設置匹配元素的屬性值。通過這個方法可以方便地從第一個匹配元素中獲取一個屬性的值。如果元素沒有相應屬性,則返回 undefined 。在控制HTML標記上是必備的工具。
html()/html(val)
HTML 代碼:
< DIV>Hello
< /DIV>
jQuery 代碼:
$("div").html();
結果:
Hello
作用:取得或設置匹配元素的html內容,同類型的方法還有text()和val()。前者是取得所有匹配元素的內容。,後者是獲得匹配元素的當前值。三者有相似的地方常用在內容的操作上。
wrap(html)
HTML 代碼:
Test Paragraph.
jQuery 代碼:
$("p").wrap(" < DIV class=wrap>< /DIV>");
結果: < DIV class=wrap>
Test Paragraph.
作用:把所有匹配的元素用其他元素的結構化標記包裹起來。這種包裝對於在文檔中插入額外的結構化標記最有用,而且它不會破壞原始文檔的語義品質。 可以靈活的修改我們的DOM。
empty()
HTML 代碼:
Hello, Person < A href="http://www.poluoluo.com#">and person< /A>
jQuery 代碼:
$("p").empty();
結果:
作用:刪除匹配的元素集合中所有的子節點。
Ajax處理
load(url,[data],[callback])
url (String) : 待裝入 HTML 網頁網址。
data (Map) : (可選) 發送至服務器的 key/value 數據。
callback (Callback) : (可選) 載入成功時回調函數。
代碼:
$("#feeds").load("feeds.aspx", {limit: 25}, function(){
alert("The last 25 entries in the feed have been loaded");
});
作用:載入遠程 HTML 文件代碼並插入至 DOM 中。這也是Jquery操作Ajax最常用最有效的方法。
serialize()
HTML 代碼:
Results:
< FORM>
< SELECT name=single> < OPTION selected>Single< /OPTION>
< OPTION>Single2< /OPTION> < /SELECT>
< SELECT multiple name=multiple> < OPTION selected>Multiple< /OPTION>
< OPTION>Multiple2< /OPTION> < OPTION selected>Multiple3< /OPTION> < /SELECT>
< INPUT value=check1 type=checkbox name=check> check1
< INPUT value=check2 type=checkbox name=check
checked="checked"/> check2
< INPUT value=radio1 type=radio name=radio
checked="checked"/> radio1
< INPUT value=radio2 type=radio name=radio> radio2
< /FORM>
jQuery 代碼:
$("#results").append( "< TT>" + $("form").serialize() + "< /TT>" );
作用:序列化表格內容為字符串。用於 Ajax 請求。
工具
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.makeArray(obj)
HTML 代碼:
First< DIV>Second< /DIV> Third< /DIV> < DIV>Fourth< /DIV>
jQuery 代碼:
var arr = jQuery.makeArray(document.getElementsByTagName("div"));
結果:
Fourth
Third
Second
First
作用:將類數組對象轉換為數組對象。使我們可以在數組和對象之間靈活的轉換。
jQuery.trim(str)
作用:這個大家應該很熟悉,就是去掉字符串起始和結尾的空格。
小結:在實際的開發中我們可能會用到其他的方法和屬性,以上只是個人認為新手初學jQuery時,必須掌握的一些方法。僅供大家學習的參考。有什麼不對的高手指教。