本文实例讲述了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相关内容感兴趣的读者可查看本站专题:《jquery常用操作技巧汇总》、《jQuery常见事件用法与技巧总结》、《jQuery操作json数据技巧汇总》、《jQuery操作xml技巧总结》及《jQuery扩展技巧总结》
希望本文所述对大家jquery程序设计有所帮助。
本文向大家介绍jQuery链式操作实例分析,包括了jQuery链式操作实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jQuery链式操作。分享给大家供大家参考,具体如下: 从过去的实例中,我们知道jQuery语句可以链接在一起,这不仅可以缩短代码长度,而且很多时候可以实现特殊的效果。 以上代码为整个<div>列表增加样式css1,然后再进行筛选,再为筛选的元素单独增加css2样式
本文向大家介绍PHP对象链式操作实现原理分析,包括了PHP对象链式操作实现原理分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP对象链式操作实现原理。分享给大家供大家参考,具体如下: 什么是链式操作呢?使用jQuery的同学印象应该会很深刻.在jQuery中,我们经常会这样的来操作DOM元素: 连贯操作看起来的确很酷,也非常的方便代码的阅读.那么在PHP里面是否可以实现呢?答案是肯
本文向大家介绍php链式操作的实现方式分析,包括了php链式操作的实现方式分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php链式操作的实现方式。分享给大家供大家参考,具体如下: 类似$db->where("id=1")->limit("5")->order("id desc"),链式操作的实现方式 先讲下方法的常规调用; 调用 缺点:实现多个方法需要多行调用; 链式操作,在方法返回
数据库提供的链式操作方法,可以有效的提高数据存取的代码清晰度和开发效率,并且支持所有的CURD操作(原生查询不支持链式操作)。 使用也比较简单,假如我们现在要查询一个User表的满足状态为1的前10条记录,并希望按照用户的创建时间排序 ,代码如下: Db::table('think_user') ->where('status',1) ->order('create_time')
问题 你想调用一个对象上的多个方法,但不想每次都引用该对象。 解决方案 在每次链式调用后返回 this(即@)对象 class CoffeeCup constructor: -> @properties= strength: 'medium' cream: false sugar: false
本文向大家介绍使用jquery操作session方法分享,包括了使用jquery操作session方法分享的使用技巧和注意事项,需要的朋友参考一下 摘要: 今天分享的是使用jquery来处理session。我们将使用sessionStorage对象,它类似与localStorage对象,只是sessionStorage是用来储存session数据的。当用户关闭浏览器这个数据会被清除掉。 简介: