您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息
三六零分类信息网 > 伊春分类信息网,免费分类信息发布

jQuery对象的链式操作用法分析

2024/3/7 5:27:56发布13次查看
本文实例讲述了jquery对象的链式操作用法。分享给大家供大家参考,具体如下:
jquery对象的链式操作
首先来看一个例子:
代码如下:
$("#myphoto").css("border","solid 2px#ff0000").attr("alt"," good")
对一个jquery对象先调用了css()函数修改样式,然后使用attr()函数修改属性,这种调用方式象链一样,所以称为"链式操作"。
链式操作能够让代码变得简洁,因为往往可以在一条语句中实现以往多条语句才能完成的任务。比如如果不使用链式操作,需要用两条语句才能完成上面的任务:
$("#myphoto").css("border","solid 2px#ff0000");$("#myphoto").arrt("alt","good");
除了增加了代码量,还调用了两次选择器,降低了速度。
在一个较短的链式操作中,往往语句比较清晰,可以分步骤地对jquery对象实现各种操作。但是链式操作不应该太长,否则会造成语句难以理解,因为要查看jquery对象当前的状态并不是容易的事,尤其如果涉及jquery对象中元素的增删操作是更加难以判断。
并不是所有的jquery函数都可以使用链式操作。这与链式操作的原理有关,之所以可以实现链式操作是因为其中的每个函数返回的都是jquery对象本身。在jquery类库的内部实现中,虽然很多的函数都返回jquery对象本身,但都是通过调用内部有限的几个函数实现的,比如attr()函数设置属性石,实际上最后调用了"jquery.each(object,callback,args)"方法。注意此方法不是jquery对象方法,jquery对象方法也有一个each()函数,为"jquery.fn.each(callback,args)",此函数最后同样调用jquery.each函数:
each:function(callback,args){ returnjquery.each(this,callback,args);}
下面看一看jquery.each函数的返回结果:
each.function(object,callback,args){ retumobject;}
object是jquery.fn对象,即jquery对象。最后返回的还是jquery对象。
可以使用下面的原则判断一个函数返回的时候是jquery对象,即是否可以用于链式操作。
除了获取某些数据的函数,比如获取属性值"attr(name)",获取集合大小"size()"这些函数明显是返回数据的。除了这些函数之外的jquery函数都可以用于链式操作,比如设置属性"attr(name.value)"。
"$"变量的使用
"$"变量是"jquery"变量的引用。"jquery"变量是全局变量,jquery对象是指"jquery.fn",不要混淆。"jquery"变量类似于静态类,上面的方法都是静态方法,可以在任何时刻调用。比如"jquery.each"。"jquery.fn"是实例方法,只能在jquery对象上调用。比如"jquery.fn.each()"方法只能通过"$('#id').each"这种形式调用。
前面提到,可以使用"$"代替"jquery",因为在jquery的内部有如下实现:
jquery=window.jquery=window.$
所以$变量和jquery变量实际上是window对象的属性,也就是全局变量。可以在页面上得任何地方调用。
希望本文所述对大家jquery程序设计有所帮助。
伊春分类信息网,免费分类信息发布

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录