'use strict';

 class View{

     constructor(){

     }

     //创建html元素
addEl(fel, elemName, id, cls){
//创建一个元素
let el = document.createElement(elemName);
//设置el id 和 class
if(id){el.setAttribute('id',id);}
if(cls){el.className = cls;}
//把el添加到fel并显示(渲染el)
if(fel){fel.appendChild(el);}
return el;
} //删除html元素
delEl(){
let k, arg = arguments, err = [];
for(k = 0; k < arg.length; k++){
if(this.isEl(arg[k]) === false){err.push(arg[k]); continue;}
arg[k].parentNode.removeChild(arg[k]);
}
if(err.length > 0){return {err:'这里有一些删除失败的元素', arr:err};}
return true;
} //id获取html元素
getEl(id){
return document.getElementById(id);
} //通过parentNode检查元素是否存在于页面中
isEl(el){
if(typeof(el) !== 'object'){return false;}
//被删除之后的html元素object的 parentNode等于null
if(!el.parentNode){return false;}
return true;
} //元素绑定事件
addEvent(target, callback){
//target.addEventListener('click', function(event){if(callback){callback(event);}}, false);
} } let v = new View(); console.log('创建元素');
let el_a = v.addEl(document.body, "p");
let el_b = v.addEl(document.body, "p");
let el_c = v.addEl(document.body, "p"); console.log('验证元素_0');
console.log(v.isEl(el_a));//true
console.log(v.isEl(el_b));//true
console.log(v.isEl(el_c));//true console.log('删除元素_0');
console.log(v.delEl(el_a, el_b));
console.log(v.delEl(el_c)); console.log('验证元素_1');
console.log(v.isEl(el_a));
console.log(v.isEl(el_b));
console.log(v.isEl(el_c)); console.log('删除元素_1');
console.log(v.delEl(el_a, el_b));
console.log(v.delEl(el_c));

javascript 原生js对html元素的 增删改查 操作的更多相关文章

  1. MVC3.0+knockout.js+Ajax 实现简单的增删改查

    MVC3.0+knockout.js+Ajax 实现简单的增删改查 自从到北京入职以来就再也没有接触MVC,很多都已经淡忘了,最近一直在看knockout.js 和webAPI,本来打算采用MVC+k ...

  2. python 全栈开发,Day124(MongoDB初识,增删改查操作,数据类型,$关键字以及$修改器,"$"的奇妙用法,Array Object 的特殊操作,选取跳过排序,客户端操作)

    一.MongoDB初识 什么是MongoDB MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介 ...

  3. 后盾网lavarel视频项目---lavarel使用模型进行增删改查操作

    后盾网lavarel视频项目---lavarel使用模型进行增删改查操作 一.总结 一句话总结: 使用模型操作常用方法 查一条:$model=Tag::find($id); 删一条:Tag::dest ...

  4. (转)SQLite数据库增删改查操作

    原文:http://www.cnblogs.com/linjiqin/archive/2011/05/26/2059182.html SQLite数据库增删改查操作 一.使用嵌入式关系型SQLite数 ...

  5. 详谈easyui datagrid增删改查操作

    转自:http://blog.csdn.net/abauch_d/article/details/7734395 前几天我把easyui dadtagrid的增删改查的实现代码贴了出来,发现访问量达到 ...

  6. Android SQLite 数据库 增删改查操作

    Android SQLite 数据库 增删改查操作 转载▼ 一.使用嵌入式关系型SQLite数据库存储数据 在Android平台上,集成了一个嵌入式关系型数据库--SQLite,SQLite3支持NU ...

  7. 用dom4j解析xml文件并执行增删改查操作

    转自:https://www.aliyun.com/jiaocheng/1339446.html xml文件: <?xml version="1.0" encoding=&q ...

  8. 学习MyBatis必知必会(5)~了解myBatis的作用域和生命周期并抽取工具类MyBatisUtil、mybatis执行增删改查操作

    一.了解myBatis的作用域和生命周期[错误的使用会导致非常严重的并发问题] (1)SqlSessionFactoryBuilder [ 作用:仅仅是用来创建SqlSessionFactory,作用 ...

  9. mongoVUE的增删改查操作使用说明

    mongoVUE的增删改查操作使用说明 一. 查询 1. 精确查询 1)右键点击集合名,再左键点击Find 或者直接点击工具栏上的Find 2)查询界面,包括四个区域 {Find}区,查询条件格式{& ...

随机推荐

  1. VLC播放器的快捷键(shutcut)

    ubuntu上的视频播放器功能简陋,不支持快慢速,于是需要一款播放器来替代它,从网上找了找,大家对VLC的评价出奇的一致, 于是试水了一下,发现功能确实强大,支持大多数多媒体文件以及各类流媒体协议 在 ...

  2. 如何应用threejs实现立方体每个面用图片替换

    var geometry = new THREE.BoxGeometry(200, 200, 200);var materialsbg = []; for (var i = 0; i < geo ...

  3. mysql中emoji表情存储

    mysql中emoji表情存储 背景 在mysql 5.7.19,创建的数据库默认选择的编码是utf8 -- UTF-8 Unicode,因此字段默认的编码为utf-8,但在项目开发中存在一个需求:在 ...

  4. ubuntu pycharm、idea创建快捷方式

    编辑/usr/share/application/pycharm.desktop [Desktop Entry] Type=Application Name=Pycharm GenericName=P ...

  5. NOIP复活了

    众所周知,NOIP以一种奇葩而又不可避免的方式(CSP)复活了.

  6. rhel

    1.查看硬盘大小 df -h 2.查看内存大小 free -h 3.配置主键名称 vim /etc/hostname# 查看 hostnamehostname 4.挂载镜像 mkdir -p /med ...

  7. Pandas中merge和join的区别

    可以说merge包含了join的操作,merge支持通过列或索引连表,而join只支持通过索引连表,只是简化了merge的索引连表的参数 示例 定义一个left的DataFrame left=pd.D ...

  8. [bzoj4568] [loj#2013] [Scoi2016] 幸运数字

    Description \(A\) 国共有 \(n\) 座城市,这些城市由 \(n-1\) 条道路相连,使得任意两座城市可以互达,且路径唯一.每座城市都有一个幸运数字,以纪念碑的形式矗立在这座城市的正 ...

  9. 双指针,BFS与图论(一)

    (一)双指针 1.日志统计 小明维护着一个程序员论坛.现在他收集了一份”点赞”日志,日志共有 N 行. 其中每一行的格式是: ts id 表示在 ts 时刻编号 id 的帖子收到一个”赞”. 现在小明 ...

  10. 我的C++开发工具链

    工欲善其事,必先利其器.想要干好活,顺手的工具是必不可少的.来分享下我的C++开发工具链. 平台:Windows 编译器:MSVC IDE:Visual Studio 版本控制:TortoiseGit ...