以前老是搞不清,$("#").each( function(i){alert(i);} ) 有什么用, 今天特意查了一下相关文档,文档上是这样解释的;
each :以每一个匹配的元素作为上下文来执行一个函数。 意味着,每次执行传递进来的函数时,函数中的this关键字都指向一个不同的DOM元素(每次都是一个不同的匹配元素)。 而且,在每次执行函数时,都会给函数传递一个表示作为执行环境的元素在匹配的元素集合中所处位置的数字值作为参数(从零开始的整型)。 返回 'false' 将停止循环 (就像在普通的循环中使用 'break')。 返回 'true' 跳至下一个循环(就像在普通的循环中使用'continue')。
这么多! 我是这样理解的 1.$("div").each(function(i){alert(i);alert(this); //function end} //each end ) 这里面的i:代表的是整个dom中div的序号,相当于数组, 循环遍历文档中的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; 3. $("div","body").each(function(i,domEle){ alert(i); alert(this) ;}) i后面有了一个参数 ,domEle,其实这个参数,使自己随便起的,命名的,也可以写成aa,bb,....... 他的作用就相当于domEle===this 写他就可以替换this,省略他 function(i),里面就可以写this了! |