jquery 插件开发 为什么 return this.each(function (){})-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

jquery 插件开发 为什么 return this.each(function (){})

2016-03-26 09:51:55 2612 1
var jQuery = $;
console.dir(jQuery);
(function($) {    
  // 插件的定义    
  $.fn.hilight = function(options) {    
    debug(this);    
    // build main options before element iteration    
    var opts = $.extend({}, $.fn.hilight.defaults, options);

    console.dir(this);

    this.each(function (){
      console.log(arguments);
    });

    console.dir(this.each);
    // iterate and reformat each matched element 
    return this.each(function() {   

      console.dir(arguments);

      $this = $(this);    
      // build element specific options    
      var o = $.meta ? $.extend({}, opts, $this.data()) : opts;    
      // update element styles    
      $this.css({    
        backgroundColor: o.background,    
        color: o.foreground    
      });    
      var markup = $this.html();    
      // call our format function    
      markup = $.fn.hilight.format(markup);    
      $this.html(markup);    
    });    
  };    
  // 私有函数:debugging    
  function debug($obj) {    
    if (window.console && window.console.log)    
      window.console.log('hilight selection count: ' + $obj.size());    
  };    
  // 定义暴露format函数    
  $.fn.hilight.format = function(txt) {    
    return '<strong>' + txt + '</strong>';    
  };    
  // 插件的defaults    
  $.fn.hilight.defaults = {    
    foreground: 'red',    
    background: 'yellow'    
  };    
// 闭包结束    
})(jQuery); 

为什么要在 $.fn.hilight 中返回this.each();
直接返回this,不也完成了链式调用的需要

取消 提交回答
全部回答(1)
  • 小旋风柴进
    2019-07-17 19:15:25

    在返回this之前,需要完成插件的功能hilight,
    因为调用的hilight插件的为一个jquery对象数组,所以需要调用each方法对每一个对象执行hilight

    当然你可以

    this.each(function(){
    ....
    });
    
    return this;
    0 0
相关问答

1

回答

来自Twitter的自动文字补齐jQuery插件 - Typeahead.js ?400报错

2020-06-02 13:18:16 333浏览量 回答数 1

1

回答

来自Twitter的自动文字补齐jQuery插件 - Typeahead.js ?400报错

2020-05-29 18:04:54 382浏览量 回答数 1

0

回答

jQuery的选择器有什么?

2021-11-12 17:21:12 121浏览量 回答数 0

2

回答

jquery选择器无效

2016-07-14 16:11:08 2573浏览量 回答数 2

1

回答

在jquery的选择器的写法上有点疑问

2016-07-13 17:07:01 1424浏览量 回答数 1

1

回答

Jquery 选择器问题!!!!!

2016-07-08 10:54:17 1346浏览量 回答数 1

1

回答

jquery选择器的问题

2016-07-06 15:57:15 1486浏览量 回答数 1

1

回答

jquery 选择器

2016-07-06 14:34:36 1135浏览量 回答数 1

1

回答

一个关于 JQuery选择器的问题!

2016-05-27 09:35:15 1755浏览量 回答数 1

1

回答

jQuery选择器问题,请大神赐教

2016-03-17 11:54:34 1431浏览量 回答数 1
2709
文章
6591
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载