jq插件和jq

Posted pengdt

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jq插件和jq相关的知识,希望对你有一定的参考价值。

封装一个jq

(function(win) {
   var jQuery = function(selecter) {
    this.version = '1.0.1'; //版本号
    this.selecter = selecter;
    return this;
   };
   jQuery.prototype.getElement = function() {
        // 当前只支持取id
        // 如果是class或者tag,得装在数组里
    this.elem = document.getElementById(this.selecter);
    return this;
   };
   jQuery.prototype.html = function(val) {
    var elem = this.elem;
    if(val) {
        elem.innerHTML = val;
        return this;
    } else {
        return elem.innerHTML;
    }
   };
   jQuery.prototype.on = function(type, Fn) {
    var elem = this.elem;
    elem.addEventListener(type, Fn);
    return this;
   };
   jQuery.init = function(selecter) {
    return new this(selecter);
   };
   win._jQuery = jQuery;
})(window);

function $(selecter) {
var test = _jQuery.init(selecter);
return test.getElement(selecter);
}

function jQuery(selecter) {
var test = _jQuery.init(selecter);
return test.getElement(selecter);
}

使用

<div id="one">hello world</div>
<div id="two">我是一个带有class属性的标签</div>
//来个点击事件
jQuery('one').html('hello girl').on('click', function() {
   alert('hello boy');
});
//或者来个赋值操作
$('two').html('hello baby');
// 打印版本
console.log($().version);

封装一个jq插件

(function ($) {
    $.fn.myPlugins = function (options) {
      //参数赋值
      options = $.extend(defaults, options);//对象合并
      this.each(function () {
          //执行代码逻辑
      });
    };
})(jQuery);

// 使用
$(selector).myPlugins({参数});

以上是关于jq插件和jq的主要内容,如果未能解决你的问题,请参考以下文章

jq插件和jq

将以下jq代码转换为原生js

JQ下的常见插件

写一个简单的JQ插件(例子)

jq代码调用swiper插件里遇到的BUG

jQ选择器学习片段(JavaScript 部分对应)