原生js实现针对Dom节点的CRUD操作示例


Posted in Javascript onAugust 26, 2019

本文实例讲述了原生js实现针对Dom节点的CRUD操作。分享给大家供大家参考,具体如下:

知识点,依然会遗忘。我在思考到底是什么原因。想到研究生考试准备的那段岁月,想到知识体系的建立,知识体系分为正向知识体系和逆向知识体系;正向知识体系可以理解为教科书目录,逆向知识体系可以理解考试真题。

按照知识体系建设这个思路,追求长久的深刻的记忆。决定建立正向知识体系。本文系正向知识体系的第一篇。

原生js操作dom节点:所谓的CRUD,代表create,read,update,del;也就是创建,读取,更新和删除。dom提供了api用于创建节点常用有

var div=document.createElement("div");
var p=document.createElement("p");
div.innerHTML="这是插入内容";
var text=document.createTextNode("这是文本内容");
var img=new Image();

创建元素、文本内容和图片。创建要和插入一起使用,所以

dom1.appendChild(div);
dom1.insertBefore(div,dom1.querySelector("p")); 
function inertAfter(newElement,targetElement){
   var parent=targetElement.parentNode;
   if (parent.lastChild==targetElement) {
     parent.appendChild(newElement);
   }else{
     parent.inertBefore(newElement,targetElement.nestSibling);
   }
}
document.getElementById('id名称').preappend(div);//直接插入到父元素第一个位置
document.getElementById('id名称').append(div);//直接插入到父元素最后位置
//还有另一个api
dom1.insertAdjacentHTML("afterBegin","<h1> 在文本前容器内插入内容1</h1>"); 
dom1.insertAdjacentHTML("beforeEnd","<h2> 在文本后容器内插入内容2</h2>"); 
dom1.insertAdjacentHTML("beforeBegin","<h4> 在文本前容器外插入内容4</h1>"); 
dom1.insertAdjacentHTML("afterEnd","<h5> 在文本后容器外插入内容5</h2>");

读取也就是选择器的功能实现

//直接选择器
var dom1=document.getElementById("dom1");
var dom1=document.querySelector("#dom1");
var matches = document.querySelectorAll("div.note, div.alert");
var div=document.getElementsByClassName(".div");
var div=document.getElementsByTagName("div");
//节点关系选择器
var divC=div.innerHTML;//内部
var divC=div.outerHTML;//整个节点
var divS=div.children;//子节点集合
var divS=div.firstChild;//第一个子节点,如果有空格返回#text
var divS=div.lastChild;//最后一个子节点,如果有空格返回#text
var divS=div.nextSibling;//下一个节点,如果有空格返回#text
var divS=div.prvSibling;//前一个节点,如果有空格返回#text
var divS=div.parentNode;//父节点
//节点集合
var form=document.forms[0];//表单集合
var img=document.images[0];//图片集合
var img=document.links[0];//所有带连接的a节点

然后是更新,我理解的是替换,常用实现

parent.replaceChild(div,dom1.querySelector("p"));
dom1.innerHTML="hhh";
dom1.innerText="999";

最后是删除的实现

parent.removeChild(dom1.querySelector("p"));
dom1.innerHTML="";
dom1.innerText="";

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
javascript设计模式之解释器模式详解
Jun 05 Javascript
javascript中in运算符用法分析
Apr 28 Javascript
使用BootStrap进行轮播图的制作
Jan 06 Javascript
ES6(ECMAScript 6)新特性之模板字符串用法分析
Apr 01 Javascript
Vue上传组件vue Simple Uploader的用法示例
Aug 25 Javascript
JavaScript实现body内任意节点的自定义属性功能示例
Sep 18 Javascript
element ui 表格动态列显示空白bug 修复方法
Sep 04 Javascript
使用Vue实现移动端左滑删除效果附源码
May 16 Javascript
浅谈TypeScript的类型保护机制
Feb 23 Javascript
微信小程序搜索框样式并实现跳转到搜索页面(小程序搜索功能)
Mar 10 Javascript
react结合bootstrap实现评论功能
May 30 Javascript
Javascript表单序列化原理及实现代码详解
Oct 30 Javascript
Moment.js实现多个同时倒计时
Aug 26 #Javascript
vue获取验证码倒计时组件
Aug 26 #Javascript
seajs和requirejs模块化简单案例分析
Aug 26 #Javascript
JavaScript实现身份证验证代码实例
Aug 26 #Javascript
基于vue、react实现倒计时效果
Aug 26 #Javascript
tweenjs缓动算法的使用实例分析
Aug 26 #Javascript
JS实现利用闭包判断Dom元素和滚动条的方向示例
Aug 26 #Javascript
You might like
PHP中如何调用webservice的实例参考
2013/04/25 PHP
PHP实现简单搜歌的方法
2015/07/28 PHP
PHP文件及文件夹操作之创建、删除、移动、复制
2016/07/13 PHP
Laravel框架实现定时Task Scheduling例子
2019/10/22 PHP
Javascript下的keyCode键码值表
2007/04/10 Javascript
日期 时间js控件
2009/05/07 Javascript
JavaScript对象参数的引用传递
2016/01/14 Javascript
基于JavaScript实现树形下拉框
2016/08/10 Javascript
bootstrap datetimepicker实现秒钟选择下拉框
2017/01/05 Javascript
JS中的phototype详解
2017/02/04 Javascript
Bootstrap的popover(弹出框)2秒后定时消失的实现代码
2017/02/27 Javascript
jQuery实现页面倒计时并刷新效果
2017/03/13 Javascript
Node.js使用Express创建Web项目详细教程
2017/03/31 Javascript
weex slider实现滑动底部导航功能
2017/08/28 Javascript
详谈js原型继承的一些问题
2017/09/06 Javascript
微信小程序实现上传图片功能
2018/05/28 Javascript
jQuery+CSS实现的标签页效果示例【测试可用】
2018/08/14 jQuery
vscode vue 文件模板的配置方法
2019/07/23 Javascript
javascript实现简易计算器功能
2020/09/23 Javascript
Python中functools模块的常用函数解析
2016/06/30 Python
利用python将图片转换成excel文档格式
2017/12/30 Python
Django学习之文件上传与下载
2019/10/06 Python
详解Python在使用JSON时需要注意的编码问题
2019/12/06 Python
pytorch判断是否cuda 判断变量类型方式
2020/06/23 Python
python各种excel写入方式的速度对比
2020/11/10 Python
关于html字符串正则判断和匹配的具体使用
2019/12/12 HTML / CSS
NBA欧洲商店(法国):NBA Europe Store FR
2016/10/19 全球购物
奥地利网上现代灯具和灯饰店:Lampenwelt.at
2018/01/29 全球购物
《我的信念》教学反思
2014/02/15 职场文书
元旦联欢会感言
2014/03/04 职场文书
销售人员求职的自我评价分享
2014/03/15 职场文书
公司证明怎么写
2014/09/22 职场文书
打架赔偿协议书范本
2014/10/26 职场文书
工作态度怎么写
2015/06/25 职场文书
详解Java线程池是如何重复利用空闲线程的
2021/06/26 Java/Android
MySQL多表查询机制
2022/03/17 MySQL