原生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获取IUSR_机器名和IWAM_机器名帐号的密码
Dec 06 Javascript
JavaScript中的面向对象介绍
Jun 30 Javascript
拖动table标题实现改变td的大小(css+js代码)
Apr 16 Javascript
js实现同一个页面多个渐变效果的方法
Apr 10 Javascript
smartcrop.js智能图片裁剪库
Oct 14 Javascript
详解React native全局变量的使用(跨组件的通信)
Sep 07 Javascript
Js通过AES加密后PHP用Openssl解密的方法
Jul 12 Javascript
jquery轻量级数字动画插件countUp.js使用详解
Oct 17 jQuery
vue+elementui 对话框取消 表单验证重置示例
Oct 29 Javascript
解决vue-cli输入命令vue ui没效果的问题
Nov 17 Javascript
js 数据类型判断的方法
Dec 03 Javascript
Vue中使用wangeditor富文本编辑的问题
Feb 07 Vue.js
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 生成静态页面的办法与实现代码详细版
2010/02/15 PHP
推荐几个开源的微信开发项目
2014/12/28 PHP
WordPress中用于检索模版的相关PHP函数使用解析
2015/12/15 PHP
CI操作cookie的方法分析(基于helper类库)
2016/03/28 PHP
dwz 如何去掉ajaxloading具体代码
2013/05/22 Javascript
图片翻转效果具体实现代码
2014/01/09 Javascript
js 绑定键盘鼠标事件示例代码
2014/02/12 Javascript
JSONP获取Twitter和Facebook文章数的具体步骤
2014/02/24 Javascript
JS实现至少包含字母、大小写数字、字符的密码等级的两种方法
2015/02/03 Javascript
javascript Array 数组常用方法
2015/04/05 Javascript
谈谈对offsetleft兼容性的理解
2015/11/11 Javascript
推荐阅读的js快速判断IE浏览器(兼容IE10与IE11)
2015/12/13 Javascript
Bootstrap CSS布局之按钮
2016/12/17 Javascript
详解vue-Resource(与后端数据交互)
2017/01/16 Javascript
URL中“#” “?” &amp;“”号的作用浅析
2017/02/04 Javascript
详解Vue中的Props与Data细微差别
2020/03/02 Javascript
Javascript摸拟自由落体与上抛运动原理与实现方法详解
2020/04/08 Javascript
使用vue引入maptalks地图及聚合效果的实现
2020/08/10 Javascript
[02:43]中国五虎出征TI3视频
2013/08/02 DOTA
详解Django中的过滤器
2015/07/16 Python
Python实现八大排序算法
2016/08/13 Python
ubuntu系统下使用pm2设置nodejs开机自启动的方法
2018/05/12 NodeJs
python实现爱奇艺登陆密码RSA加密的方法示例详解
2020/05/27 Python
Keras保存模型并载入模型继续训练的实现
2021/02/20 Python
使用canvas绘制超炫时钟
2014/12/17 HTML / CSS
美国标志性加大尺码时装品牌:Ashley Stewart
2016/12/15 全球购物
请假条格式范文
2014/04/10 职场文书
小学生民族团结演讲稿
2014/08/27 职场文书
五四演讲稿范文
2014/09/03 职场文书
村当支部个人对照检查材料思想汇报
2014/10/06 职场文书
千手观音观后感
2015/06/03 职场文书
2015年学校消防安全工作总结
2015/10/14 职场文书
2016年5月份红领巾广播稿
2015/12/21 职场文书
Python 线程池模块之多线程操作代码
2021/05/20 Python
Minikube搭建Kubernetes集群
2022/03/31 Servers
JS实现页面炫酷的时钟特效示例
2022/08/14 Javascript