三分钟手写一个迷你jQuery,附源码

简介: 诚然,不管前端技术怎么发展,重心都不会变,就是 操作DOM + 获取数据。下面的代码演示了如何快速手写一个简单的jQuery:

诚然,不管前端技术怎么发展,重心都不会变,就是 操作DOM + 获取数据

下面的代码演示了如何快速手写一个简单的jQuery

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>手写minijQuery</title>
</head>
<body>
    <input id="username" placeholder="请输入用户名" autocomplete="off"> <span id="username2"></span> <br>
    <input id="password" placeholder="请输入密码" autocomplete="off"> <span id="password2"></span>
    <script>
        let $ = function(id){
            /**为了简洁,只实现ID选择器* */
            let dom = document.getElementById(id);
            return {
                _dom : dom ,
                /** 获取元素的value属性值 || 赋值* */
                val: function(newVal){
                    if(arguments.length){
                        this._dom.value = newVal;
                        return;
                    }
                    return this._dom.value;
                },
                /** 获取元素的innerHTML属性值 || 赋值* */
                html: function(newVal){
                    if(arguments.length){
                        this._dom.innerHTML = newVal;
                        return;
                    }
                    return this._dom.innerHTML;
                },
                /** 给元素绑定事件* */
                on: function(event,callback){
                    this._dom['on' + event] = callback;
                }
            }
        }
        $('username').on('input',function(){
            $('username2').html($('username').val());
        });
        $('password').on('input',function(){
            $('password2').html($('password').val());
        });
    </script>
</body>
</html>

73f5190086ed411b8e6860110b9c5675.png

效果如上图所示, 就是在输入框右边同步显示左边输入框的值。

如果你是JavaScript零基础,并看过《JavaScript百炼成仙》的函数七重关的话,相信也可以很快写出来。虽然不难,但是通过这个例子,可以很好地巩固基础,和增强自己学习前端的自信心。


相关文章
|
JavaScript
海园帮忙写的JQUERY功能,实现了我们想要的,我觉得有点屌哟~~
需求就是为了可以在WEB在线更新代码期间,如果执行时间较长的话, 就在提交按钮之后,按钮变为灰色。 同时,一个DIV里每隔两秒刷新输出。 当更新完成之后(检测文档中的关键字串),按钮变为可提交状态~~ ...
831 0
|
JavaScript
jQuery学习第四天
jQuery学习第四天
57 0
|
JavaScript 前端开发 C#
JQuery实现经典网站后台框架[动易程序改版]
网站后台是每个网站必须的部分,使用一个好的框架也是给用户良好体验的一部分内容,本文将给大家介绍使用JQuery和JS实现的ASP.NET网站后台框架。 首先看看我们需要的资源: 1. FrameTab.js (文章结尾提供下载) 该文件主要功能是实现一个像IE 8中Tab页一样的功能,这个可以方便用户在一个浏览器页面里打开多个某快的后台内容,以及对其进行切换 2. jquery.pack.js (文章结尾提供下载) 这个JQuery的文件大家应该很熟悉了,不做解释了。
1132 0
|
JavaScript
《锋利的jquery》实例源码下载
想学jQuery,听说《锋利的jquery》挺好,想找个PDF下载看看,但是没找到,不过找到了实例源码。csdn的下载频道里发现的。   借用了一下可以在这里下载:《锋利的jquery》实例源码.rar    刚下载还没细看呢。
1871 0
|
JavaScript
jQuery经典案例【倒计时】
jQuery经典案例【倒计时】
129 0
jQuery经典案例【倒计时】
|
存储 JavaScript 前端开发
JQuery最最最详细的第一课
JQuery最最最详细的第一课
87 0
|
Web App开发 JavaScript 前端开发
从零开始学习jQuery (七) jQuery动画-让页面动起来!
原文:从零开始学习jQuery (七) jQuery动画-让页面动起来! 本系列文章导航 从零开始学习jQuery (一) 开天辟地入门篇 从零开始学习jQuery (二) 万能的选择器 从零开始学习jQuery (三) 管理jQuery包装集 从零开始学习jQuery (四) 使用...
1136 0