JavaScript,封装库--连缀

学习要点:

1.连缀介绍

2.改写库对象

本章我们重点来介绍,在调用库的时候,我们需要能够在前台调用的时候可以同时设置多个操作,比如设置CSS,设置innerHTML,设置click事件等等。那么本节课来讨论这个问题。

一.连缀介绍

所谓连缀,最简单的理解就是一句话同时设置一个或多个节点两个或两个以上的操作。比如:

$().getId('box').css('color', 'red').html('标题').click(function () {alert('a')});

连缀的好处,就是快速方便的设置节点的操作。

二.改写库对象

如果是实现操作连缀,那么我们就需要改写上一节课的对象写法:var Base = {},这种写法无法在它的原型中添加方法,所以需要使用函数式对象写法:

封装库代码

/***feng_zhuang_ku_1.0版本,js封装库,2016/12/29日:林贵秀**//** 每次调用$创建库对象,使其每次调用都是独立的对象**/
var $ = function () {return new feng_zhuang_ku();
};/***定义封装库构造函数,创建库对象**/
function feng_zhuang_ku () {/**对象说明:* this表示对象本身* 使用库,首先要  var $ = new feng_zhuang_ku();   首先要new创建对象* 再在创建的对象下调用方法或者属性* * 大纲:* 获取元素标签开始,行号18* 连缀-元素节点操作开始,行号64* * **//**------------------------------------------------获取元素标签开始--------------------------------------------**//**获取元素标签说明:* jie_dian属性,保存获取到的元素节点,返回数组,* huo_qu_id()方法,通过id获取元素标签,适用于获取单个节点,* huo_qu_name_zhi()方法,通过元素name值获取指定元素,适用于获取表单元素,* huo_qu_name()方法,通过标签名称获取相同标签名的元素,适用于获取多个相同元素节点,**//** jie_dian属性,创建数组,初始化,保存获取到的元素节点,返回数组**/this.jie_dian = [];/** huo_qu_id()方法,通过id获取元素标签,参数是id值,将获取到的元素对象添加到,jie_dian属性,适用于获取单个节点**/this.huo_qu_id = function (id) {this.jie_dian.push(document.getElementById(id));return this;};/** huo_qu_name_zhi()方法,通过元素name值获取指定元素,参数是元素name值,返回元素相同name值对象集合,* 循环元素集合,将每次循环到的元素对象添加到 jie_dian属性,适用于获取表单元素**/this.huo_qu_name_zhi = function (name) {var name_zhi = document.getElementsByName(name);for (var i = 0; i < name_zhi.length; i ++){this.jie_dian.push(name_zhi[i]);}return this;};/** huo_qu_name()方法,通过标签名称获取相同标签名的元素,参数是标签名称,返回对象集合* 循环元素集合,将每次循环到的元素对象添加到 jie_dian属性,适用于获取多个相同元素节点**/this.huo_qu_name = function (tag) {var name = document.getElementsByTagName(tag);for (var i = 0; i < name.length; i ++){this.jie_dian.push(name[i]);}return this;};/**------------------------------------------------获取元素标签结束--------------------------------------------**//**------------------------------------------------连缀-元素节点操作开始---------------------------------------**//**连缀-元素节点操作说明:* css()方法,给获取到的元素设置行内css样式* wen_ben()方法,给获取到的元素设置文本,参数是要设置的文本字符串* click()方法,给获取到的元素添加一个点击事件,参数是一个匿名函数(包含函数功能),**//** css()方法,给获取到的元素设置行内css样式,两个参数,参数1样式名称,参数2样式值* 循环jie_dian属性里的节点,将每次循环的节点添加css样式**/this.css = function (attr,value) {for (var i = 0; i < this.jie_dian.length; i ++){this.jie_dian[i].style[attr] = value;}return this;};/** wen_ben()方法,给获取到的元素设置文本,参数是要设置的文本字符串,* 循环jie_dian属性里的节点,将每次循环的节点添加元素文本**/this.wen_ben = function (str) {for (var i = 0; i < this.jie_dian.length; i ++){this.jie_dian[i].innerHTML = str;}return this;};/** click()方法,给获取到的元素添加一个点击事件,参数是一个匿名函数(包含函数功能),* 循环jie_dian属性里的节点,将每次循环的节点添加元素点击事件**/this.click = function (fu) {for (var i = 0; i < this.jie_dian.length; i ++){this.jie_dian[i].onclick = fu;}return this;};/**------------------------------------------------连缀-元素节点操作结束---------------------------------------**/
}

前台调用代码

//前台调用代码
window.onload = function (){$().huo_qu_name('div').css('background-color','#ffff3e');$().huo_qu_name('p').css('color','#ff2128').css('background-color','#b2bbff').wen_ben('改变').click(function () {alert('a');});
};

第一百三十节,JavaScript,封装库--连缀相关推荐

  1. 第一百五十一节,封装库--JavaScript,表单验证--密码确认验证--回答验证--电子邮件验证加自动补全...

    封装库--JavaScript,表单验证--密码确认验证--回答验证--电子邮件验证加自动补全 效果图 html <div id="reg"><h2 class= ...

  2. 第一卷 第一百三十六章 好白菜

    第一卷 第一百三十六章 好白菜 其实我最恨两种人,一种是始乱终弃的小白脸,一种就是生孩子不养活的臭娘们儿.**  提供本书txt电子书下载 **既然你能生就要能养啊,虽然我不知道井里的那个死孩子的母亲 ...

  3. 第一百三十一节,JavaScript,封装库--CSS

    JavaScript,封装库--CSS 将封装库里的方法,改成了原型添加方法 增加4个方法 tian_jia_class()方法,给获取到的元素添加class属性,参数是class属性值,可以连缀1 ...

  4. 第一百三十四期:MySQL分页查询方法及优化

    在MySQL中,分页查询一般都是使用limit子句实现,limit子句声明如下:LIMIT子句可以被用于指定 SELECT 语句返回的记录数. 作者:青芽草  分页查询方法: 在MySQL中,分页查询 ...

  5. 第一百三十期:14种常见编程语言的优缺点及应用范围

    C语言是一门通用计算机编程语言,应用广泛.面向过程的,数据与算法分开.它的重点在于算法和数据结构.1972年由美国贝尔实验室在B语言的基础上设计出. 作者:编程小新 C 概述:C语言是一门通用计算机编 ...

  6. 第一百三十九期:11月数据库排行:排名前三数据库分数暴跌

    DB-Engines 数据库流行度排行榜 11 月更新已发布,与上期数据相比,这期排行榜最大的亮点就是排名前三数据库那引人注目的"红色"分数. 作者:局长 DB-Engines 数 ...

  7. 第一百三十八期:37 个MySQL数据库小知识,为面试做准备

    无论是运维.开发.测试,还是架构师,数据库技术是一个必备加薪神器,那么,一直说学习数据库.学MySQL,到底是要学习它的哪些东西呢? 作者:芒果教你学编程 无论是运维.开发.测试,还是架构师,数据库技 ...

  8. 第一百三十一期:2019年容器使用报告:Docker 和 Kubernetes 王者地位不倒!

    近日,容器创业公司 Sysdig 发布了 2019 年容器使用报告.这是 Sysdig 第三年发布容器年度使用报告,与之前不同的是,今年的调查结合了更多的数据源,并深入挖掘了 Kubernetes 的 ...

  9. 前端歌谣的刷题之路-第一百三十题-absolute

    前言 我是歌谣 我有个兄弟 巅峰的时候排名c站总榜19 叫前端小歌谣 曾经我花了三年的时间创作了他 现在我要用五年的时间超越他 今天又是接近兄弟的一天人生难免坎坷 大不了从头再来 歌谣的意志是永恒的 ...

最新文章

  1. 编写程序在窗口中写出自己名字的拼音缩写_各类英文缩写:全称居然这么朴素?网友:最后一个我笑了...
  2. 基于云存储网关的Veeam备份归档上云方案
  3. 中getname_浅析JS中的class
  4. linux-文件的删除与创建
  5. mysql主从应用_MySQL主从复制应用、主从复制原理
  6. 2020八年级计算机会考计划,初二下学期学习计划2020
  7. 食品工程计算机辅助设计,食品工程CAD技术应用及实例
  8. java中地图查询比较慢,在java中缓慢的地图
  9. 第四章需求分析与设计工具
  10. 蓝牙耳机连接了电脑但是声音外放的解决办法
  11. numpy 归一化 与 标准化
  12. 小程序 身份认证服务器,如何实现微信小程序与.net core应用服务端的无状态身份验证...
  13. RN:蒲公英内测分发app
  14. 深度学习:权重衰减(weight decay)与学习率衰减(learning rate decay)
  15. 华为云服务器的系统,云服务器的系统
  16. java闭锁_Java闭锁—CountDownLatch
  17. 008. 字符串转换整数 (atoi) | Leetcode题解
  18. java使用阿里云oss sdk
  19. CSS样式:渐变色圆角边框
  20. P4995 跳跳! java 洛谷

热门文章

  1. BJUI怎样对input添加自定义验证规则
  2. ArrayList不是并发安全的?那么在高并发环境下怎么使用集合
  3. 数据库系统概念总结:第七章 数据库设计和E-R模型
  4. flutter 组件IgnorePointer
  5. linux防火墙怎么添加端口,手工添加Linux防火墙端口
  6. linux到不了启动界面,Linux 界面不能启动的解决
  7. 七大行业巨头齐聚神策数据驱动大会,你想知道的都在这里了!
  8. AT24C0X I2C通信原理
  9. ASP.NET Core Razor 标签助手 - ASP.NET Core 基础教程 - 简单教程,简单编程
  10. ICG游戏:证明,先手不是必胜就是必败。