博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
原生js操作Dom节点:CRUD
阅读量:4683 次
发布时间:2019-06-09

本文共 2533 字,大约阅读时间需要 8 分钟。

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

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

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

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

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

1    2        dom1.appendChild(div); 3        dom1.insertBefore(div,dom1.querySelector("p"));  4        function inertAfter(newElement,targetElement){ 5               var parent=targetElement.parentNode; 6               if (parent.lastChild==targetElement) { 7                   parent.appendChild(newElement); 8               }else{ 9                   parent.inertBefore(newElement,targetElement.nestSibling);10               }11          }12        document.getElementById('id名称').preappend(div);//直接插入到父元素第一个位置13        document.getElementById('id名称').append(div);//直接插入到父元素最后位置14        //还有另一个api15        dom1.insertAdjacentHTML("afterBegin","

在文本前容器内插入内容1

"); 16 dom1.insertAdjacentHTML("beforeEnd","

在文本后容器内插入内容2

"); 17 dom1.insertAdjacentHTML("beforeBegin","

在文本前容器外插入内容4

"); 18 dom1.insertAdjacentHTML("afterEnd","
在文本后容器外插入内容5
");

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

1        //直接选择器 2        var dom1=document.getElementById("dom1"); 3        var dom1=document.querySelector("#dom1"); 4        var matches = document.querySelectorAll("div.note, div.alert"); 5        var div=document.getElementsByClassName(".div"); 6        var div=document.getElementsByTagName("div"); 7        //节点关系选择器 8        var divC=div.innerHTML;//内部 9        var divC=div.outerHTML;//整个节点10        var divS=div.children;//子节点集合11        var divS=div.firstChild;//第一个子节点,如果有空格返回#text12        var divS=div.lastChild;//最后一个子节点,如果有空格返回#text13        var divS=div.nextSibling;//下一个节点,如果有空格返回#text14        var divS=div.prvSibling;//前一个节点,如果有空格返回#text15        var divS=div.parentNode;//父节点16        //节点集合17        var form=document.forms[0];//表单集合18        var img=document.images[0];//图片集合19        var img=document.links[0];//所有带连接的a节点

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

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

最后是删除的实现

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

本文结束。

转载于:https://www.cnblogs.com/zhensg123/p/8867591.html

你可能感兴趣的文章
Margin Loss 损失函数的设计
查看>>
gerrit-git
查看>>
CreditCompany
查看>>
jmeter之beanshell
查看>>
类似选项卡竖向排版的jquery图文同步切换效果
查看>>
【opencv】图像细化
查看>>
Flask最强攻略 - 跟DragonFire学Flask - 第九篇 Flask 中的蓝图(BluePrint)
查看>>
HTML WebSocket
查看>>
转:c/c++ 未知的陷阱——2元、3元转义字符
查看>>
mysql在表的某一位置增加一列、删除一列、修改列名
查看>>
iOS开发之传感器
查看>>
String
查看>>
Java基础教程——Map
查看>>
数据库SQL Server DAC 导入导出数据到SQL Azure问题
查看>>
POJ 1161 Walls(Floyd , 建图)
查看>>
Java并发编程:CountDownLatch、CyclicBarrier和Semaphore
查看>>
hdu 4441
查看>>
源代码管理工具
查看>>
0415评论博客园
查看>>
javamail邮件中插入图片
查看>>