一直写代码写代码,博客都快荒废了,眼看一月要过完,不能不留下点记忆,嘿嘿,刚研究了下jquery的链式访问,这么好用的技能我赶紧get了下,研究后略微修改,模拟一个简单的链式访问,下面这段代码支持修改css,获取css属性值,显示和隐藏等小功能,打算抽空把自己的js小框架全改成链式访问。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Document</title><script type="text/javascript" src="wmlink.js"></script><style type="text/css">#box {color: red;}</style>
</head>
<body><div id="box">模拟链式访问</div><div class="box">模拟链式访问</div><div class="box">模拟链式访问</div><div class="box">模拟链式访问</div><script type="text/javascript">(function(win){var WM = function(selector) {this.element = [];//接收dom元素return this.all(selector);// 返回id的dom元素}var $ = function(selector) {return new WM(selector);}WM.prototype = {all:function(selector) {this.element = document.querySelectorAll(selector);return this;},hide: function(){for (var i = 0; i < this.element.length; i++) {this.element[i].style.display = 'none';}return this;},show: function(){for (var i = 0; i < this.element.length; i++) {this.element[i].style.display = 'block';}return this;},css: function(key, value) {var doms = this.element;// 根据参数个数实现方法重载if (doms.length) {for (var i = 0; i < doms.length; i++) {if (value) {this.setStyle(doms[i], key, value);} else {return this.getStyle(doms[0], key);}}} else {if (value) {this.setStyle(doms, key, value);} else {return this.getStyle(doms, key);}};},getStyle: function(dom, key) {if (dom.currentStyle) {return dom.currentStyle[key];} else {return window.getComputedStyle(dom, null)[key];}},setStyle: function(dom, key, value) {dom.style[key] = value;},}var demo =$('#box').css('color');    // 通过对象的引用调用console.log(demo);// 获得属性值$('.box').css('color','yellow') })(window)</script>
</body>
</html>

模拟jquery链式访问相关推荐

  1. 【C语言】函数 ---- 函数的嵌套调用和链式访问、函数的声明和定义、变量的声明和定义、函数递归与迭代、递归时的栈溢出问题

    函数 一.函数的嵌套调用和链式访问 1.嵌套调用 2.链式访问 2.1strlen()函数 2.2printf()函数 二.函数的声明和定义 1.函数声明和定义的介绍 2.函数声明和定义的使用 三.变 ...

  2. 【C语言函数】 - 库函数、自定义函数、函数参数、函数调用、嵌套调用链式访问、递归与迭代、缓冲区

    目录 一.函数是什么 二.C语言中函数的分类 1.如何学会使用库函数 1.1.strcpy 1.2.memset 2.自定义函数 2.1.与库函数的区别 2.2.写一个函数可以找出两个整数的最大值 2 ...

  3. C语言 函数 (库函数 · 自定义函数 · 函数参数 · 函数调用 · 嵌套调用链式访问 · 递归)

    文章目录: 一.函数是什么? 二.库函数 2.1 为什么要有库函数? 2.2 如何学习库函数? 2.3 我们就以 strcpy( ) 函数,来参照文档自学一下: 2.4 总结: 三.自定义函数 3.1 ...

  4. jquery链式写法 java_jQuery链式操作

    两个问题 1.jQuery的链式操作是如何实现的? 2.为什么要用链式操作? 大家认为这两个问题哪个好回答一点呢? 链式操作 原理相信百度一下一大把,实际上链式操作仅仅是通过对象上的方法最后 retu ...

  5. 仿Jquery链式操作的xml操作类

    经常需要对xml文件进行操作,参考了Jquery的链式操作后实现了xmlHelper类. 代码 using System; using System.Data; using System.Config ...

  6. jQuery链式操作[转]

    用过jQuery的朋友都知道他强大的链式操作,方便,简洁,易于理解,如下 $("has_children").click(function(){ $(this).addClass( ...

  7. JQuery链式操作简单的菜单列表

    看到这个简单的菜单demo,也是为了再看看JQuery对DOM的操作,一直都记不牢,特别是siblings()这个总是想不起来. 这次再过一遍JQuery,不管简单的还是复杂的demo 还是坚持练习一 ...

  8. 函数详解:包括库函数和自定义函数,函数的参数及调用,声明及定义,嵌套使用和链式访问

  9. 009_jQuery链式编程

    1. jQuery方法链接 1.1. 有一种名为链接(chaining)的技术, 允许我们在相同的元素上运行多条jQuery命令, 一条接着另一条. 1.2. 这样的话, 浏览器就不必多次查找相同的元 ...

最新文章

  1. 机器学习笔记(九)聚类
  2. Vue——vue-chartjs[Vue 对于 Chart.js 的封装]
  3. 人工智能免费学习!想了解的进来看看
  4. FreeCAD v0.19源码编译与VS2017+Qt5环境搭建
  5. Java面向对象(1) —— 封装
  6. 通过命令修改wampserver的mysql密码
  7. arm hisiv100 linux,hisiv100交叉编译工具链安装
  8. mysql 乐观锁和悲观锁,MySQL中的悲观锁与乐观锁
  9. Python天天学_03_基础三
  10. Lazarus Coolbar and AnchroDocking
  11. 常用软件写网页html,新手用什么软件写html网页比较靠谱
  12. HTML背景渐变圆圈,6种CSS3平滑过渡的渐变背景颜色
  13. Office2021专业增强版激活报错0xc004f074以及尝试办法
  14. win7计算机管理禁用,win7提示windows凭据已被您的系统管理员禁用怎么办
  15. 想写一个供教育培训机构排课和教师管理的软件
  16. css文字高光,CSS实现文字高光水波渐变的动态效果实例
  17. std::copy与memcpy比较
  18. 数据库PostrageSQL-WAL配置
  19. 表白网站源码-html源码结婚倒计时
  20. BLE数据报文格式解析

热门文章

  1. Python开发【第十一篇】:JavaScript
  2. 【软件工程1916|W(福州大学)_助教博客】团队第一次作业成绩公示
  3. java okhttp包的类特点
  4. Python之socketserver模块和验证客户端链接的合法性
  5. 四则运算 结对编程
  6. 并发编程实践三:Condition
  7. Linux网络编程服务器模型选择之IO复用循环并发服务器
  8. Linux系统中如何添加自己的库文件路径
  9. 重新ICP,在没有Matlab的日子里
  10. Windows Communication Foundation环境安装篇