jquery之管理包装元素集合(管理jquery链,end()方法与andSelf()方法的使用)

jquery之管理包装元素集合(管理jquery链,end()方法与andSelf()方法的使用)

----------

 

对于在单个语句里把jquery包装器方法链起来完成大量的任务的能力。这种链能力不但允许以简洁的方式写出强大的操作,而且提高了效率,因为它能够把多个命令应用到包装集,而不必重新计算包装集。利用命令链里调用的方式,可能生成多个包装集。例如,调用clone()方法生成新包装集,即创建原始包装集元素的副本,一旦生成新包装集,就无法引用原始包装集,因此,我们就被剥夺了构造多功能jquery命令链的能力。

思考以下语句:

 

 

这个语句内产生两个包装集:一个是页面上所有<img>元素的原始包装集,另一个是由原始包装集元素的副本所组成的新包装集。clone()方法返回新包装集作为结果,而appendTo()命令正是在这个新包装集上进行操作的。

那么,在克隆原始包装集后,如果我们想接着应用一个命令,比如添加CSS类名到原始包装集,该怎么办?不可以添加到现在命令链的末端,因为那样做的话,将会影响克隆得到的新包装集元素,而不是原始包装集的图像元素。为了满足这个需求,jquery提供了end()命令。在jquery链内,一调用这个方法,方法就会作为返回值回退到前一个包装集。

考虑以下语句:

 

appendTo()方法应用到克隆得到的新包装集,只要调用end()就回退到前一个包装集,并在其上执行addClass()命令。如果不插入end()命令,addClass()就操作克隆得到的新包装集。

-----

end()语法:

end()

在jquery命令链内调用,以便回退到前一个包装集。

返回

前一个包装集

-----

jquery命令链在执行期间所产生的包装集保存在栈内。当调用end()时,最顶端的(最近产生的)包装集出栈,公开前一个包装集,让后续命令进行操作。

=====

另一个修改包装集栈的方法是:andSelf(),这个方法把栈内最顶端的两个包装集合并为一个包装集。

-----

andSelf()语法:

andSelf()

合并命令链内最近产生的两个包装集

返回

合并后的包装集

-----

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值