简单封装jquery

   日期:2020-08-08     浏览:93    评论:0    
核心提示:简单封装jqueryps:并非真实jquery方法 但可实现jquery使用效果 简单封装jquery

简单封装jquery

ps:并非真实jquery方法 但可实现jquery使用效果

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>简单封装jquery</title>
</head>

<body>
    <div class="test"></div>
    <div class="test"></div>
</body>
<script> // 定义一个方法 命名为$传入query参数 function $(element) { // 因为有可能是多个dom 所以我们使用querySelectorAll来获取dom const querys = document.querySelectorAll(element); // 将方法返回一个对象,并调用init方法 return new { // 定义初始化方法 init: function () { // 使用for循环拿到所有的dom 并且循环赋给this(指当前返回的对象) 此时它会返回一个方法; // 返回值:init {0: div.test, 1: div.test} for (let i = 0; i < querys.length; i++) this[i] = querys[i]; // 在当前对象下定义一个css方法,...arge可拿到所有参数; this.css = function (...args) { // 判断它的长度为1则说明传入一个参数 即是一个对象(这里你可以自行判断它的类型不符合可返回错误提示,我就简单演示了) if (args.length === 1) { for (let i = 0; i < querys.length; i++) { // 拿到 args是一个数组所以要取args的第0个位置的参数 let object = args[0]; //返回值: { width: '100px', float: 'left'} // 利用forIn拿到对象的key和value for (const key in object) { // 要检测的属性的 String 字符串形式表示的名称,或者 Symbol if (object.hasOwnProperty(key)) { const value = object[key]; // 将对象循环赋值 querys[i].style[key] = value; } } } // 判断是否是2个参数 } else if (args.length === 2) { for (let i = 0; i < querys.length; i++) { // 赋值 querys[i].style[args[0]] = args[1]; } } else { console.error('css 参数有误!') } } // 如果还要添加别的方法可在下面定义 // 例如:this.test... this.html... this.val... 等. } }.init() } $('.test').css('height', '100px'); $('.test').css('background', 'green'); $('.test').css({ width: '100px', float: 'left' }); $('.test')[0].onclick = function(){ console.log('click') } </script>

</html>
 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服