原生js实现针对Dom节点的CRUD操作示例
程序员文章站
2024-02-05 23:13:04
本文实例讲述了原生js实现针对dom节点的crud操作。分享给大家供大家参考,具体如下:
知识点,依然会遗忘。我在思考到底是什么原因。想到研究生考试准备的那段岁月,想到知...
本文实例讲述了原生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="";
上一篇: 世界十大销售人物 原一平上榜,第二销售成绩成吉尼斯纪录
下一篇: 微信小程序实现手势滑动效果