原生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 相关文章推荐
JS 用6N±1法求素数 实例教程
Oct 20 Javascript
JS实现动态表格的添加,修改,删除功能(推荐)
Jun 15 Javascript
jQuery实现别踩白块儿网页版小游戏
Jan 18 Javascript
Bootstrap 手风琴菜单的实现代码
Jan 20 Javascript
Vue2 SSR渲染根据不同页面修改 meta
Nov 20 Javascript
Node错误处理笔记之挖坑系列教程
Jun 05 Javascript
详解Vue中使用Echarts的两种方式
Jul 03 Javascript
浅谈JavaScript 代码整洁之道
Oct 23 Javascript
详解JavaScript中的函数、对象
Apr 01 Javascript
微信小程序新闻网站详情页实例代码
Jan 10 Javascript
jQuery实现放大镜案例
Oct 19 jQuery
js 压缩图片的示例(只缩小体积,不更改图片尺寸)
Oct 21 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中SESSION反序列化机制
2017/03/01 PHP
yii2 开发api接口时优雅的处理全局异常的方法
2019/05/14 PHP
php实现通过stomp协议连接ActiveMQ操作示例
2020/02/23 PHP
php多进程中的阻塞与非阻塞操作实例分析
2020/03/04 PHP
PHP 对象接口简单实现方法示例
2020/04/13 PHP
jquery 插件开发方法小结
2009/10/23 Javascript
javascript获取鼠标位置部分的实例代码(兼容IE,FF)
2013/08/05 Javascript
使用javascript做的一个随机点名程序
2014/02/13 Javascript
javascript 数组操作详解
2015/01/29 Javascript
jQuery实现返回顶部效果的方法
2015/05/29 Javascript
IOS中safari下的select下拉菜单文字过长不换行的解决方法
2016/09/26 Javascript
bootstrap模态框跳转到当前模板页面 框消失了而背景存在问题的解决方法
2020/11/30 Javascript
求js数组的最大值和最小值的四种方法
2017/03/03 Javascript
Javascript读写cookie的实例源码
2019/03/16 Javascript
JavaScript实现文件下载并重命名代码实例
2019/12/12 Javascript
解决vuex改变了state的值,但是页面没有更新的问题
2020/11/12 Javascript
Vue常用API、高级API的相关总结
2021/02/02 Vue.js
Python中的字符串操作和编码Unicode详解
2017/01/18 Python
Pytorch入门之mnist分类实例
2018/04/14 Python
python使用多进程的实例详解
2018/09/19 Python
Python实现点阵字体读取与转换的方法
2019/01/29 Python
Python3爬虫之自动查询天气并实现语音播报
2019/02/21 Python
Python中类的创建和实例化操作示例
2019/02/27 Python
Python中请不要再用re.compile了
2019/06/30 Python
增大python字体的方法步骤
2020/07/05 Python
详解HTML5中的Communication API基本使用方法
2016/01/29 HTML / CSS
英国天然抗衰老护肤品品牌:Nakin Skin Care
2019/04/16 全球购物
阿迪达斯越南官网:adidas越南
2020/07/19 全球购物
销售顾问工作计划书
2014/08/15 职场文书
2014入党积极分子破除“四风”思想汇报
2014/09/14 职场文书
大学生考试作弊被抓检讨书
2014/12/27 职场文书
家长通知书家长意见
2015/06/03 职场文书
员工担保书范本
2015/09/22 职场文书
创业计划书之家政服务
2019/09/18 职场文书
抖音短视频(douyin)去水印工具的实现代码
2021/03/30 Javascript
仅用几行Python代码就能复制她的U盘文件?
2021/06/26 Python