學習jQuery之旅--新手必須知道的常用方法

weixin_34377065發表於2009-06-09

jQuery中常用的函式方法總結

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()這樣的事件這裡就不提了,那些都是開發中比較常用到的。)


外觀效果

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 程式碼:
<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(", ") );
結果:
[ <p>John, password, http://ejohn.org/%3C/p> ]

 
作用:將一組元素轉換成其他陣列(不論是否是元素陣列)你可以用這個函式來建立一個列表,不論是值、屬性還是CSS樣式,或者其他特別形式。這都可以用'$.map()'來方便的建立。

find(expr)

HTML 程式碼:

<p><span>Hello</span>, how are you?</p>
jQuery 程式碼:

$("p").find("span")
結果:

[ <span>Hello</span> ]


作用:搜尋所有與指定表示式匹配的元素。這個函式是找出正在處理的元素的後代元素的好方法。

文件處理

attr(key,value)
HTML 程式碼:
<img/><img/>
jQuery 程式碼:
$("img").attr("src","test.jpg");


作用:取得或設定匹配元素的屬性值。通過這個方法可以方便地從第一個匹配元素中獲取一個屬性的值。如果元素沒有相應屬性,則返回 undefined 。在控制HTML標記上是必備的工具。


html()/html(val)
HTML 程式碼:
<div><p>Hello</p></div>
jQuery 程式碼:
$("div").html();
結果:
<p>Hello</p>


作用:取得或設定匹配元素的html內容,同型別的方法還有text()和val()。前者是取得所有匹配元素的內容。,後者是獲得匹配元素的當前值。三者有相似的地方常用在內容的操作上。

wrap(html)
HTML 程式碼:
<p>Test Paragraph.</p>
jQuery 程式碼:
$("p").wrap("<div class='wrap'></div>");
結果:
<div class="wrap"><p>Test Paragraph.</p></div>

 
作用:把所有匹配的元素用其他元素的結構化標記包裹起來。
這種包裝對於在文件中插入額外的結構化標記最有用,而且它不會破壞原始文件的語義品質。 可以靈活的修改我們的DOM。

empty()
HTML 程式碼:
<p>Hello, <span>Person</span> <a href="#">and person</a></p>
jQuery 程式碼:
$("p").empty();
結果:
<p></p>


作用:刪除匹配的元素集合中所有的子節點。

 

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 程式碼:
<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>" );


作用:序列化表格內容為字串。用於 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 程式碼:
<div>First</div><div>Second</div><div>Third</div><div>Fourth</div>
jQuery 程式碼:
var arr = jQuery.makeArray(document.getElementsByTagName("div"));
結果:
Fourth
Third
Second
First


作用:將類陣列物件轉換為陣列物件。使我們可以在陣列和物件之間靈活的轉換。

jQuery.trim(str)


作用
:這個大家應該很熟悉,就是去掉字串起始和結尾的空格。

小結:在實際的開發中我們可能會用到其他的方法和屬性,以上只是個人認為新手初學jQuery時,必須掌握的一些方法。僅供大家學習的參考。有什麼不對的高手指教。

相關文章