一直困解的jQuery中的each

iDotNetSpace發表於2010-06-09

以前老是搞不清,$("#").each(

    function(i){alert(i);}   

)

<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--&gt有什麼用, 今天特意查了一下相關文件,文件上是這樣解釋的;
each :以每一個匹配的元素作為上下文來執行一個函式。
意味著,每次執行傳遞進來的函式時,函式中的this關鍵字都指向一個不同的DOM元素(每次都是一個不同的匹配元素)。
而且,在每次執行函式時,都會給函式傳遞一個表示作為執行環境的元素在匹配的元素集合中所處位置的數字值作為引數(從零開始的整型)。
返回 
'false' 將停止迴圈 (就像在普通的迴圈中使用 'break')。 轉載請註明 http://netsos.cnblogs.com/
返回 
'true' 跳至下一個迴圈(就像在普通的迴圈中使用'continue')。
這麼多
! 

我是這樣理解的
1.$("div").each(function(i){alert(i);alert(this);  
//function end}
 //each end )  

這裡面的i:代表的是整個dom中div的序號,相當於陣列, 轉載請註明 http://netsos.cnblogs.com/
迴圈遍歷文件中的div.
this:代表 迴圈到當前的div元素還有這樣的,裡面的引數更多 

2.  $("div",data).each(function(i){ 
alert(i);  
 alert(
this) ;})

現在這個data是什麼
?
data,我理解是這樣的div屬於 data,data相當與div的父類
如: $(
"div","body").each(function(i){ 
alert(i);  
 alert(
this) ;})
這句話就是 找出body中的 div; 轉載請註明 http://netsos.cnblogs.com/
3. $("div","body").each(function(i,domEle){
 alert(i); 
  alert(
this) ;})
i後面有了一個引數 ,domEle,其實這個引數,使自己隨便起的,命名的,也可以寫成aa,bb,.......
他的作用就相當於domEle
===this
寫他就可以替換this,省略他 
function(i),裡面就可以寫this了! 
 轉載請註明 http://netsos.cnblogs.com/

 

 最後再 強調一下 

 返回 'false' 將停止迴圈 (就像在普通的迴圈中使用 'break')。

返回 'true' 跳至下一個迴圈(就像在普通的迴圈中使用'continue')。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-664806/,如需轉載,請註明出處,否則將追究法律責任。

相關文章