原生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 布尔操作符解析  &amp;&amp; || !
Aug 10 Javascript
jQuery判断checkbox是否选中的3种方法
Aug 12 Javascript
jQuery表格列宽可拖拽改变且兼容firfox
Sep 03 Javascript
css与javascript跨浏览器兼容性总结
Sep 15 Javascript
详解Javascript事件驱动编程
Jan 03 Javascript
jQuery鼠标移动图片上实现放大效果
Jun 25 jQuery
JavaScript实现设置默认日期范围为最近40天的方法分析
Jul 12 Javascript
js实现多张图片延迟加载效果
Jul 17 Javascript
js实现简易聊天对话框
Aug 17 Javascript
es6中的解构赋值、扩展运算符和rest参数使用详解
Sep 28 Javascript
Node.js学习教程之Module模块
Sep 03 Javascript
vue组件内部引入外部js文件的方法
Jan 18 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数组函数
2008/08/18 PHP
PHP 万年历实现代码
2012/10/18 PHP
php将gd生成的图片缓存到memcache的小例子
2013/06/05 PHP
dedecms中使用php语句指南
2014/11/13 PHP
PHP实现权限管理功能示例
2017/09/22 PHP
PHP whois查询类定义与用法示例
2019/04/03 PHP
(推荐一个超好的JS函数库)S.Sams Lifexperience ScriptClassLib
2007/04/29 Javascript
javascript firefox兼容ie的dom方法脚本
2008/05/18 Javascript
HTML node相关的一些资料整理
2010/01/01 Javascript
js下获得客户端操作系统的函数代码(1:vista,2:windows7,3:2000,4:xp,5:2003,6:2008)
2011/10/31 Javascript
基于jquery的鼠标拖动效果代码
2012/05/30 Javascript
document.compatMode的CSS1compat使用介绍
2014/04/03 Javascript
深入理解javascript构造函数和原型对象
2014/09/23 Javascript
Javascript前端UI框架Kit使用指南之kitjs的对话框组件
2014/11/28 Javascript
jQuery中unwrap()方法用法实例
2015/01/16 Javascript
js中for in语句的用法讲解
2015/04/24 Javascript
jQuery插件Tmpl的简单使用方法
2015/04/27 Javascript
JQuery在循环中绑定事件的问题详解
2016/06/02 Javascript
JS实现倒计时(天数、时、分、秒)
2016/11/16 Javascript
js实现一键复制功能
2017/03/16 Javascript
JavaScript实时更新当前的时间的示例代码
2020/07/15 Javascript
Vue实现todo应用的示例
2021/02/20 Vue.js
Python制作简易注册登录系统
2016/12/15 Python
使用python获取csv文本的某行或某列数据的实例
2018/04/03 Python
keras的load_model实现加载含有参数的自定义模型
2020/06/22 Python
AHAVA美国官方网站:死海海泥护肤品牌
2016/10/18 全球购物
法国高保真音响和家庭影院商店:Son Video
2019/04/26 全球购物
幼儿园托班开学寄语
2014/01/18 职场文书
应届大学生求职信
2014/07/20 职场文书
法人代表身份证明书及授权委托书
2014/09/16 职场文书
关于工作时间玩手机的检讨书
2014/09/18 职场文书
场地使用证明模板
2014/10/25 职场文书
2014年公务员转正工作总结
2014/11/07 职场文书
感谢师恩主题班会
2015/08/17 职场文书
如何写一份成功的商业计划书
2019/06/25 职场文书
导游词之山东红叶谷
2019/10/31 职场文书