重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
复制代码
十多年的扶余网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网整合营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整扶余建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联建站从事“扶余网站设计”,“扶余网站推广”以来,每个客户项目都认真落实执行。
代码如下:
//
args
is
for
internal
usage
only
each:
function(
object,
callback,
args
)
{
var
name,
i
=
0,
length
=
object.length,
isObj
=
length
===
undefined
||
jQuery.isFunction(object);
if
(
args
)
{
if
(
isObj
)
{
for
(
name
in
object
)
{
if
(
callback.apply(
object[
name
],
args
)
===
false
)
{
break;
}
}
}
else
{
for
(
;
i
length;
)
{
if
(
callback.apply(
object[
i++
],
args
)
===
false
)
{
break;
}
}
}
//
A
special,
fast,
case
for
the
most
common
use
of
each
}
else
{
if
(
isObj
)
{
for
(
name
in
object
)
{
if
(
callback.call(
object[
name
],
name,
object[
name
]
)
===
false
)
{
break;
}
}
}
else
{
for
(
var
value
=
object[0];
i
length
callback.call(
value,
i,
value
)
!==
false;
value
=
object[++i]
)
{}
}
}
return
object;
},
分析:jquery文档说
each(callback)作用是以每一个匹配的元素作为上下文来执行一个函数。就是用each来遍历数组,来执行同一个方法
这个方法的实现最关键的是:call与apply的用法:call(apply)就是将函数的对象的从初始的上下文改为thisObj指向的对象,
就是说用thisObj来代替原来的对象来执行方法:call与apply的第一个参数为this指向的对象,而后面的参数都下传给函数的,
call传给函数的参数用逗号分隔而apply则为一个数组。
//1.callback.apply(
object[
name
],
args
)
//2.callback.call(
object[
name
],
name,
object[
name
]
)
each()就是循环,给你例子吧,比如你的页面只有 3对p标签p1/pp2/pp3/p$("p").each(function(i){//这样写它就是循环三次,其中function中的i就是指索引alert(i);//弹出循环到当前p的索引,索引从0开始,你可以试试,执行程序看效果就是最好的理解alert($(this).text());//弹出循环到当前p的文本});
在jquery中的each有两种用法,分别是$.each()和$(selector).each(); $.each()与$(selector).each()不同, 后者专用于jquery对象的遍历, 前者可用于遍历任何的集合(无论是数组或对象),如果是数组,回调函数每次传入数组的索引和对应的值
遍历一个jQuery对象,为每个匹配元素执行一个函数。
ul
lifoo/li
libar/li
/ul
$( "li" ).each(function( index ) {
console.log( index + ": "" + $(this).text() );
});
//或者一个数组,集合,map
$.each(集合,function(){
console.log( 集合.name+ ": "" +集合.age );
});