摘要:的建立在没有学习函数的封装之前,对于的操作很麻烦以前我们要经常调用元素还有各种方法,当我把一个对象封装起来的话,有些就变得简单了。
DOM的建立
在没有学习函数的封装之前,对于DOM的操作很麻烦;以前我们要经常调用元素还有各种方法,当我把一个对象封装起来的话,有些就变得简单了。就像一个计算器,加法是基础的方法,当你想使用乘法的时候,比如5x5;其实就是5个5相加,本来需要调用5次+的方法,而我们想把加法和加的次数封装起来,把这个封装的函数命名的符号为x;这样我们是否减少了许多步骤呢?
接下来,我就分享对象的建立,及封装。
//创建一个对象字面量DOMBuilder,其功能为创建DOM的封装 var DOMBuilder = { }二 添加方法
var DOMBuilder = { //创建方法,传入参数(tag 标签 attrs 属性的数组 children 子元素) create:function(tag, attrs, children) { } }三 判断参数
var DOMBuilder = { create:function(tag, attrs, children) { //如果attrs 未传输,默认其为空对象,以免报错; || 或者 attrs = attrs || {}; //如果子节点 未传输,默认为空数组 children = children || []; } }四 创建元素并为其添加属性
var DOMBuilder = { create:function(tag, attrs, children) { attrs = attrs || {}; children = children || []; //el 为创建后的元素 var el = document.createElement(tag); //给元素添加属性, for in 常用于JSON中遍历对象 for(var attr in attrs) { el.setAttribute(attr,attrs[attr].toString()); } } }五 添加子元素,并判断元素
var DOMBuilder = { create:function(tag, attrs, children) { attrs = attrs || {}; children = children || []; var el = document.createElement(tag); for(var attr in attrs) { el.setAttribute(attr,attrs[attr].toString()); } //给元素添加子元素 for(var i = 0; i < children.length;i++) { //如果是文本,将子节点设置为文本节点 if (typeof children[i] == "string") { children[i] = document.createTextNode(children[i]); } //将子元素添加到el上 el.appendChild(children[i]); } } }六 完善函数体,并结合目的来调用
var DOMBuilder = { //创建方法 tag 标签 attrs 属性的数组 children 子元素 create:function(tag, attrs, children) { //如果attrs 未传输,默认其为空对象,以免报错; || 或者 attrs = attrs || {}; //如果子节点 未传输,默认为空数组 children = children || []; //el 为创建后的元素 var el = document.createElement(tag); //给元素添加属性, for in 常用于JSON中遍历对象 for(var attr in attrs) { el.setAttribute(attr,attrs[attr].toString()); } //给元素添加子元素 for(var i = 0; i < children.length;i++) { //如果是文本,将子节点设置为文本节点 if (typeof children[i] == "string") { children[i] = document.createTextNode(children[i]); } //将子元素添加到el上 el.appendChild(children[i]); } return el; } }
A.我们给页面添加一个 h1 的标签,它的id 为 h1_title
var h1 = DOMBuilder.create("h1", {id:"h1_title",title:"标题"},["DOMBuilder"]); document.body.appendChild(h1);
B.我们创建一个id 为list 的ul标签,ul下有一个类名为item 的li 标签
var li = DOMBuilder.create("li", {class:"list"},["item"]); var ul = DOMBuilder.create("ul",{id:"list"},[li]); document.body.appendChild(ul);
这是我在SegmentFault发表的第一篇文章,算是新手上路;但我不求大家多多包涵,求大家多多批评!
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/80321.html
摘要:使用包管理工具,基于构建工具,搭建开发环境由于一些软件安装跟系统环境相关,故这里查看本文档,需要根据自己的系统环境,选择相对应的系统版本。 使用Yarn包管理工具,基于Webpack构建工具,搭建React开发环境 showImg(https://segmentfault.com/img/remote/1460000019833533?w=560&h=310); 由于一些软件安装跟系统...
安装 首先你需要点击这里安装 nodejs(npm)。然后执行: 建立一个目录作为项目根目录并初始化: mkdir react-webpack cd react-webpack/ npm init 安装相关组件 这里包括了本文所需要的全部组件 npm i --save-dev react react-dom react-transform-hmr webpack webpack-dev-serve...
摘要:接下来该填表了生成行和单元格为了填充表格可以遵循同样的方法,但这次我们需要迭代数组中的每个对象。对于每个对象,我们可以使用生成单元格。 翻译:疯狂的技术宅原文:https://www.valentinog.com/bl... 本文首发微信公众号:jingchengyideng欢迎关注,每天都给你推送新鲜的前端技术文章 怎样用原生 JavaScript 生成表格需?本文告诉你答案!...
摘要:打开浏览器输入,会看到构建的项目的主页目录结构使用编辑器打开推荐使用,下面具体看看目录结构在中,根据我们在构建项目的时候的选项,有以下几个命令。 构建一个 vue 项目最简单的方式就是使用脚手架工具 vue-cli 。前端的三大框架都有自己的脚手架工具,其作用就是用配置好的模板迅速搭建起一个项目工程来,省去自己配置 webpack 配置文件的基本内容,大大降低了初学者构建项目的难度。这...
摘要:前言微前端理论篇上一篇介绍了微前端的理念,本片将开始介绍项目。先实现公共依赖的引入吧。在上一步我们没有引入的依赖包,是因为的依赖包是作为公共依赖导入的。里面全是我的公共依赖文件在下新建文件夹,新建文件,作为我们整个项目的页面文件。 前言 微前端 —— 理论篇 上一篇介绍了微前端的理念,本片将开始介绍portal项目。 portal项目介绍 portal项目包括两个...
阅读 1155·2023-04-25 17:28
阅读 3531·2021-10-14 09:43
阅读 3954·2021-10-09 10:02
阅读 1941·2019-08-30 14:04
阅读 3128·2019-08-30 13:09
阅读 3269·2019-08-30 12:53
阅读 2896·2019-08-29 17:11
阅读 1822·2019-08-29 16:58