当前位置:  编程技术>WEB前端

jquery的each方法使用示例分享

    来源: 互联网  发布时间:2014-08-25

    本文导语:  对于jQuery对象,只是把each方法简单的进行了委托:把jQuery对象作为第一个参数传递给jQuery的each方法.换句话说:jQuery提供的each方法是对参数一提供的对象的中所有的子元素逐一进行方法调用。而jQuery对象提供的each方法则是对jQ...

对于jQuery对象,只是把each方法简单的进行了委托:把jQuery对象作为第一个参数传递给jQuery的each方法.换句话说:jQuery提供的each方法是对参数一提供的对象的中所有的子元素逐一进行方法调用。而jQuery对象提供的each方法则是对jQuery内部的子元素进行逐个调用。

代码如下:

jQuery.prototype.each=function( fn, args ) {
 return jQuery.each( this, fn, args );
}

让我们看一下jQuery提供的each方法的具体实现,jQuery.each(obj,fn,arg)

该方法有三个参数:进行操作的对象obj,进行操作的函数fn,函数的参数args。

让我们根据ojb对象进行讨论:

1. obj对象是数组

each方法会对数组中子元素的逐个进行fn函数调用,直至调用某个子元素返回的结果为false为止,也就是说,我们可以在提供的fn函数进行处理,使之满足一定条件后就退出each方法调用。当each方法提供了arg参数时,fn函数调用传入的参数为arg,否则为:子元素索引,子元素本身。

2. obj 对象不是数组

该方法同1的最大区别是:fn方法会被逐次不考虑返回值的进行进行。换句话说,obj对象的所有属性都会被fn方法进行调用,即使fn函数返回false。调用传入的参数同1类似。

代码如下:

jQuery.each=function( obj, fn, args ) {
    if ( args ) {
       if ( obj.length == undefined ){
           for ( var i in obj )
             fn.apply( obj, args );
       }else{
           for ( var i = 0, ol = obj.length; i < ol; i++ ) {
              if ( fn.apply( obj, args ) === false )
                  break;
          }
       }
   } else {
       if ( obj.length == undefined ) {
            for ( var i in obj )
               fn.call( obj, i, obj );
       }else{
          for ( var i = 0, ol = obj.length, val = obj[0]; i < ol && fn.call(val,i,val) !== false; val = obj[++i] ){}
       }
  }
  return obj;

需要特别注意的是each方法中fn的具体调用方法并不是采用简单的fn(i,val)或fn(args),而是采用了fn.call(val,i,val)或fn.apply(obj.args)的形式,这意味着,在你自己的fn的实现中,可以直接采用this指针引用数组或是对象的子元素。这种方式是绝大多数jQuery所采用的一种实现方式。


    
 
 

您可能感兴趣的文章:

  • jQuery定时器插件 jQuery Timers应用示例
  • jquery打开dialog的简单示例
  • jQuery animate方法定位页面具体位置(示例)
  • jQuery设置input type值示例
  • jquery弹窗代码示例
  • jquery的父子兄弟节点查找示例代码
  • jquery获取第几个元素方法示例 jquery选择器
  • jquery遍历checkbox简单示例
  • jquery动态添加option示例
  • Jquery定时器的简单示例
  • JQuery获取上传文件大小(示例)
  • Jquery在指定DIV加载HTML示例代码
  • jQuery获得内容和属性示例代码
  • jQuery的each终止或跳过示例代码
  • jQuery获得内容和属性方法及示例
  • jquery根据name属性查找示例
  • jQuery find与children方法示例
  • jQuery回车键绑定点击事件示例
  • jQuery 滚动示例插件 kinetic
  • jQuery设置CSS属性(示例)
  • jQuery学习笔记之jQuery原型属性和方法
  • jquery中slideUp()方法与slideDown()方法
  • jQuery 滑动方法slideDown向下滑动元素
  • jquery中fadeIn()方法与fadeOut()方法(示例)
  • jQuery.extend()、jQuery.fn.extend()扩展方法示例详解
  • jquery show()方法与hide()方法的小例子
  • jquery show()方法与hide()方法(示例)
  • jquery上传插件fineuploader上传文件使用方法(jquery图片上传插件)
  • Jquery图片延迟加载插件jquery.lazyload.js的使用方法
  • 判断一个对象是否为jquery对象的方法
  • jQuery 追加元素的方法如append、prepend、before
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • jquery代码-如何使用jQuery来解析xml
  • jquery使用$(element).is()来判断获取的tagName iis7站长之家
  • jquery代码-如何使用jQuery来检测右键和左键的鼠标单击两种情况
  • jquery使用jquery.zclip插件复制对象的实例教程
  • jquery代码-如何使用多个属性来进行过滤
  • JQuery插件fancybox无法在弹出层使用左右键的解决办法
  • jquery使用$(element).is()来判断获取的tagName
  • 使用Jquery获取带特殊符号的ID 标签的方法
  • 使用jquery prev()方法找到同级的前一个元素
  • jQuery 1.9使用$.support替代$.browser的使用方法
  • jquery的live使用注意事项
  • jquery链式操作的正确使用方法
  • jquery代码-如何正确使用ToggleClass
  • 通过$(this)使用jQuery包装后的方法或属性
  • 使用JS或jQuery模拟鼠标点击a标签事件代码
  • JQuery中使用ajax传输超大数据的解决方法
  • jquery组件使用中遇到的问题整理及解决
  • 关于jquery中全局函数each使用介绍
  • jQuery 回车事件enter使用示例
  • jquery中交替点击事件toggle方法的使用示例
  • 通过javascript库JQuery实现页面跳转功能代码
  • jQuery鼠标动画插件 jquery-ahover
  • jQuery概述,代码举例及最新版下载
  • jQuery向导插件 Jquery Wizard Plugin
  • Jquery操作html复选框checkbox:全选,全不选和反选
  • jQuery圆角插件 jQuery Corners
  • struts+spring+hibernate+jquery实现分页功能的几个基本类介绍(异步加载)
  • jQuery相册插件 jQuery.popeye
  • jQuery UI组件 jQuery UI
  • jQuery右键菜单插件 jQuery ContextMenu
  • jQuery分页插件 Pagination jQuery Plugin


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3