如何封装一个最简单的jquery插件

一个完整的jquery当然不可能这么简单,以下案例提供的是一种封装插件的思路

在此之前你最好有一定的js基础,并且懂得自调用匿名函数的基本使用,废话少说,直接上代码:

HTML部分


<html lang="en">
<head><meta charset="UTF-8"><title>js封装简易jquerytitle>head>
<body>
    <h2>js封装简易jqueryh2>
    <div id="h">hello worlddiv>
    <div id="box">我是一个带有class属性的标签div>
    <script src="../js/demo2.js">script>
body>
html>

js部分

;(function (win) {
    var jQuery = function (selecter) {
        this.version = '1.0.1'; //版本号
        this.selecter = selecter;
        return this;
    };
    jQuery.prototype.getElement = function () {
        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);
}

//不妨测试一下,来个点击事件
jQuery('h').html('hello girl').on('click', function () {
    console.log('hello boy');
});
//或者来个赋值操作
$('box').html('hello baby');
console.log($().version);

最后,你开心就好,谢谢点赞哦!!!

你可能感兴趣的:(插件开发)