-
2018-11-17 15:11:38
1、创建一个节点
createElement(“标签名”): 按照给定的标签名创建一个新的元素节点. 方法只有一个参数:被创建的元素节点的名字, 是一个字符串. 方法的返回值:是一个指向新建节点的引用指针. 返回值是一个元素节点, 所以它的 nodeType 属性值等于 1,新元素节点不会自动添加到文档里, 它只是一个存在于 JavaScript 上下文的对象。//1.创建一个li元素节点 var book = document.createElement("li");
2、创建文本节点
createTextNode(“文本值”): 创建一个包含着给定文本的新文本节点. 这个方法的返回值是一个指向新建文本节点引用指针,它是一个文本节点, 所以它的 nodeType 属性等于 3,方法只有一个参数:新建文本节点所包含的文本字符串. 新元素节点不会自动添加到文档里//2.创建文本节点 var bookNode = document.createTextNode("《西游记》");
> //3.把文本节点添加到元素节点中 > book.appendChild(bookNode);
3、为元素添加子节点
appendChild(): var reference = element.appendChild(newChild):
给定子节点 newChild 将成为给定元素节点 element 的最后一个子节点, 方法的返回值是一个指向新增子节点的引用指针,appendChild把子节点添加到父节点中,不能指定插入的位置,默认插入到最后一个子元素后面//appendChild把子节点添加到父节点中,不能指定插入的位 置,默认插入到最后一个子元素后面 //var books = document.getElementById("books"); 父节点 //books.appendChild(book);
4、插入节点
insertBefore(): 把一个给定节点插入到一个给定元素节点的给定子节点的前面var reference = element.insertBefore(newNode(新节点),targetNode(目标节点的位置));节点 newNode 将被插入到元素节点 element 中并出现在节点 targetNode 的前面. 节点 targetNode 必须是 element 元素的一个子节点。//4.1获取插入位置 var old = document.getElementById("book2"); //4.2插入 old.parentElement.insertBefore(book,old);
5、删除节点
从一个给定元素里删除一个子节点格式:var reference = element.removeChild(node);返回值:返回值是一个指向已被删除的子节点的引用指针。
注意:某个节点被 removeChild() 方法删除时,这个节点所包含的所有子节点将同时被删除。> //1.获取要删除节点的父元素 var stars = document.getElementById("stars"); > //2.获取要删的子节点 var fanbingbing = > document.getElementById("fanbingbing"); //3.从子节点中把要删除的子节点删除 > stars.removeChild(fanbingbing);
更多相关内容 -
dom-animator:一个漂亮的javascript库,用于运行dom中隐藏在注释节点中的动画
2021-02-19 18:11:09一个漂亮JavaScript库,用于在您的dom的注释中显示小型ASCII动画。 对于任何检查您的代码的人来说,这都是一个复活节彩蛋。 仅此而已。 指示 dom-animator.js是一个独立的库(没有jQuery等),因此用法非常简单。 ... -
create:用于创建虚拟 DOM 节点的语法糖
2021-06-13 00:34:13用于创建受启发的虚拟 DOM 节点的语法糖。 安装 使用 : packin add jsiom/create 然后在您的应用中: var Text = require ( 'create/text' ) var Node = require ( 'create/node' ) var create = require ( '... -
DOM创建元素节点.获取节点
2022-01-31 08:56:351.每点击一下去创建一个节点元素:案例如下... // 每在页面上点1下,都在wrap内生成一个 div,每个div的背景色都是随机的 // wrap里每个div节点,都能绑定1个点击事件,点击时,可以打印自身 document.documentElem..1.每点击一下去创建一个节点元素(createElement):案例如下
<div id="wrap"></div> <script> let oWrap = document.querySelector("#wrap"); // 每在页面上点1下,都在wrap内生成一个 div,每个div的背景色都是随机的 // wrap里每个div节点,都能绑定1个点击事件,点击时,可以打印自身 document.documentElement.onclick = function(){ oWrap.innerHTML += `<div style="background-color:${randomColor()}"></div>` }//注意:JS读码顺序会全部一口气读完,但不会去执行这个函数,只有在触发点击事件时才会去执行这个函数,而且这个函数是浏览器自己去帮你调用这个函数。 每次调用得到一个随机的rgb颜色值 function randomColor(){ let r = parseInt(Math.random()*256), //得到0-255之间的随机数,取整 g = parseInt(Math.random()*256), b = parseInt(Math.random()*256); return `rgb(${r}, ${g}, ${b})`; } 注意: Math.random()*256取到0-255之间的随机数,Math.random()取[0-1)之间的小数 parseInt取整数,只保留小数点前面的部分。 </script> ${r}:模板字符串,固定写法,表示在这个地方去使用这个r的变量值。
2.创建一个元素节点对象:document.createElement("创建的新的节点对象名称,最好用HTML内置好的名字,如DIV,span标签等等,尽量不要用自定义标签");
注意:在这里只是在JS中创建好了元素节点对象,并未添加到HTML页面中,所以我们需要把创建的新的元素节点对象添加到HTML页面中去,添加方法:(注意得通过父级元素去添加才行)父级元素节点对象.appendChild(创建的新的元素节点对象)案例如下:(注意:新创建的元素节点对象只能添加一次到一个父级元素中去,不能把创建的新的元素对象重复去添加到多个父级元素节点对象中去,如果创建一个元素节点对象重复去添加到多个父级元素节点对象中去的时候,只会添加到按顺序从上到下写的最后一个去添加,且作为最小的孩子添加到子元素的尾部位置,也就是往元素内最末尾位置去加。)
另外一个方法去通过父级元素去添加子元素,且添加在指定位置的方法:父元素节点对象.insertBefore(arg1,arg2);
父元素节点.insertBefore(arg1, arg2) : 在元素内某个子节点之前添加该子节点 arg1(参数1):要添加的新节点 arg2: 参考位置的子节点, 将新节点在该子节点之前插入
替换节点对象方法:父元素节点对象. replaceChild(arg1, arg2)
arg1: 替身,新节点
arg2: 原子节点,被替换的对象
克隆元素节点方法(常用)分为深克隆和浅克隆:需要克隆的节点. cloneNode(如果传参数为true的话,就是深克隆,深克隆就是只克隆元素结构,但元素事件等其他一些东西不会复制,只克隆HTML结构,不传就是默认false,就是浅克隆);案例如下
浅克隆/浅复制:判断复制的和原来的是否相等结果为false(默认), 只复制元素节点自身, 不会复制元素里的内容(包括后代节点也不会复制,也不会复制原节点的事件)但可以传参。
<script> 创建一个元素节点对象 let div = document.createElement("div"); // 把div元素添加到oWrap元素内 oWrap.appendChild(div); </script>
注意:创建元素节点对象与innerHTML 的区别在于,创建的元素节点对象可以直接去操作相应的对应点击等事件,而innerHTML不可以,它只是会解析标签,本意是去添加一段字符串文本,需要去获取才可以对其进行一些相关的操作,而创建的元素节点对象不需要,可以直接对其进行操作。
同理:去删除子节点的话,只能通过父节去删除,方法:父节点.removeChild(要删除的子节点 );
3.获取元素内部的所有子节点
方法一(不常用):父节点元素.chindNodes,案例如下:
注意:得到的是一个所有子元素的集合,不包括孙子节点,而其中的text是文本节点,包括空格回车等都是一个节点,第一个text是从wrap后面开始到box标签的起点之前的空格节点,一次类推。
方法二:父级元素对象.children (也是一个集合,所以取的时候得加下标)
这个获取的就只是子节点,不包含回车空格等节点。案例如下
方法三:通过子元素取得到父节点,方法:子元素.parentNode
得到的就只有一个父节点对象。
4.获取该元素的定位父级,类似于CSS子绝父相,方法:任意元素.offsetParent,案例如下
这里并未去指定定位父级,所以就是默认以body为定位父级,如果给子元素加了相对定位和父元素给了绝对定位的话,也就是给了参考父级就可以得到指定的定位父级元素。
5.在JS中给innerHTML或者innerText给文本修改style样式,方法:获取的元素节点.style.cssText=`font-size:30px` ;
6.性能优化: 前端中,操作DOM是非常消耗性能的。
性能优化操作:尽可能减少不必要的DOM操作
尽可能减少增加不必要的DOM结构(也就是HTML结构)
7.文档碎片案例及优化问题: 存储多个元素节点的文档碎片,将文档碎片里存的元素一次性添加到要添加的节点里。
<body> <div id="wrap"></div> <script> let oWrap = document.querySelector("#wrap"); for (let i = 1; i <= 100; i++) { let oP = document.createElement("p"); oP.innerHTML = `p ${i}`; oWrap.appendChild(oP)} </body> 以上是没执行一次就需要在页面展示层去展示一次,而且再执行下一次的时候,会去把整个 页面擦出再去从头渲染页面,这样就很消耗性能,这时就可以创建文档碎片去优化,把每次生成 的一个p标签去存到文档碎片里面,最后一次性添加到owrap里面,优化方案如下: <body> <div id="wrap"></div> <script> let oWrap = document.querySelector("#wrap"); let fragment = document.createDocumentFragment(); //创建的文档碎片 // 一次性在wrap里添加100个p元素 for (let i = 1; i <= 100; i++) { let oP = document.createElement("p"); oP.innerHTML = `p ${i}`; // 每次都要往wrap里展示/添加1个节点 // oWrap.appendChild(oP) // 将每次生成的节点P,存到文档碎片中 fragment.appendChild(oP); } // 存储多个元素节点的文档碎片,将文档碎片里存的元素一次性添加到oWrap里 oWrap.appendChild(fragment) </body>
-
js dom中如何插入一个节点
2021-02-14 10:05:12参考 MDN 《JS DOM 编程艺术》 ...referenceNode:它同样是这个父节点下的一个子节点,用于给新子节点插入定位用的,因为如果一个父节点下面有很多子节点,新子节点具体插入的位置需要这个参考子节点来做定位参考
MDN
《JS DOM 编程艺术》语法
var insertedNode = parentNode.insertBefore(newNode, referenceNode);
参数解析:
- parentNode:将要新的子节点属于哪个父节点,也就是说,这个新的子节点要插到哪个父节点下面
- newNode:这个要被插入的新子节点
- referenceNode:它同样是这个父节点下的一个子节点,用于给新子节点插入定位用的,因为如果一个父节点下面有很多子节点,新子节点具体插入的位置需要这个参考子节点来做定位用
- insertedNode:insertBefore 的返回值,返回的是被插入的节点
【注】referenceNdoe,不是必须的,但是你必须要传入一个 Node 或者 null,如果传入 null,则表明此次插入过程没有设置参考点,那么新节点将被插入到父节点内部的最后面,换句话说假设此时父节点内部有其他子节点(但并未设置它们中的任何一个为参考子节点,即 referenceNode,那么新节点将被插入到这些子节点的最后面,这是一个意思。
实例-在前面插入
<div id="parentElement"> <p id="OldChildElement">原来的子节点,且被当作参考节点</p> <p>没有被当作参考节点</p> </div>
// 创建要插入的节点 var newNode = document.createElement("p"); // 给新插入的节点添加文本内容 newNode.innerText = "新插入节点的文本\n"; // 获得父节点的引用 var parentDiv = document.getElementById("OldChildElement").parentNode; //实验一:referenceNode 存在 --> 正确返回 var OldChildElement = document.getElementById("OldChildElement"); // 在父节点内插入一个新节点,该新节点被插入到 OldChildElement 这个子节点前面 parentDiv.insertBefore(newNode, OldChildElement); //实验一结束
//实验二:referenceNode 为 undefined var OldChildElement = undefined; // Not exist a node of id "childElement" // 由于此时用于参考插入位置的子节点是 undefined,所以新节点将被插入到父节点内部的尾部 // 换句话说如果此时父节点内部有其他子节点(但这些子节点并不是参考子节点),新的子节点 // 将被插入到这些子节点的最后面 parentDiv.insertBefore(newNode, OldChildElement); //实验二结束
实例-在后面插入
dom 操作中没有提供如何在一个节点后面插入新节点,但我们可以通过 inserteBefore 来模拟这个结果
parentDiv.insertBefore(sp1, sp2.nextSibling);
在这里,参考节点是 sp2.nextSibling ,也就是 sp2 的下一个兄弟节点,如果兄弟节点存在,则插入新节点在这个兄弟节点前面,如果兄弟节点不存在,也就是第二个参数为 null,也将插入到最后面
我们对上面的代码进行修改
parentDiv.insertBefore(newNode,OldChildElement.nextSibling);
-
JS DOM创建节点
2020-05-27 09:58:53一、JS DOM创建节点 document.write() 可以向文档中添加节点 但是有个致命问题,会把文档原有的节点全部清空 因此不推荐使用document.write() 可以向文档中添加节点 但是有个致命问题,会把文档原有的节点全部清空 因此不推荐使用
1、create系列方法:
document.createElement 创建元素节点 document.createTextNode 创建文本节点 document.createComment 创建注释节点 document.createDocumentFragment 创建文档片段节点 .appendChild() 追加子元素 document.body.insertBefore(要插入的节点,插入的位置); 在指定位置前插入节点 .firstChild 第一个子元素节点
<ul id="list"></ul> <script> myReady(function(){ var comment=document.createComment("这是注释呀"); var ul=document.getElementById("list"); var li=null; var fragment=document.createDocumentFragment(); for(var i=0;i<3;i++){ li=document.createElement("li"); li.appendChild(document.createTextNode("item"+(i+1))); fragment.appendChild(li); } ul.appendChild(fragment); document.body.insertBefore(comment,ul); }); </script>
2、在IE6-8中,createElement可以用来创建文档中本不存在的元素
可以用来做html5shiv,用于低版本IE兼容html标签元素
document.createElement()创建的HTML5标签是可以兼容IE8以下的浏览器,并在页面中正常显示该标签所设置的样式
<head> <style> article{color:orange;} </style> </head> <body> <article>直接添加html5元素在IE8以下无法识别</article> <script> var article=document.createElement("article"); article.innerHTML="这是document.createElement创建的HTML5元素"; document.body.appendChild(article); </script> </body>
3、.split() 字符串转数组
IE条件编译语句 /*@cc_on @*/ 里面的内容只有IE会执行,其余浏览器会按照注释来处理,不会执行,可以用于区别是否是IE浏览器
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> body{ width:100%; height:100%; } article{ font-size:14px; color:orange; } </style> <script src="DomReady.js"></script> <script> myReady(function(){ (function(){ if(!/*@cc_on!@*/0) return; //所有html5新增元素 var elements="abbr, article, aside, audio, canvas, datalist, details, dialog, eventsource, figure, footer, header, hgroup, mark, menu, meter, nav, output, progress, section, time, video".split(", "); //获取长度 var len=elements.length; //循环添加这些元素 while(len--){ document.createElement(elements[i]); } })();//匿名函数自执行,可以避免污染全局 }); </script> </head> <body> <article>这是html5元素</article> </body> </html>
以上是错误的,html5shiv代码不能写在domReady中,因为创建元素需要在dom树加载之前完成
以下是正确写法
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> body{ width:100%; height:100%; } article{ font-size:14px; color:orange; } </style> <script src="DomReady.js"></script> <script> (function(){ if(!/*@cc_on!@*/0) return; //所有html5新增元素 var elements="abbr, article, aside, audio, canvas, datalist, details, dialog, eventsource, figure, footer, header, hgroup, mark, menu, meter, nav, output, progress, section, time, video".split(", "); //获取长度 var len=elements.length; //循环添加这些元素 while(len--){ document.createElement(elements[len]); } })();//匿名函数自执行,可以避免污染全局 </script> </head> <body> <article>这是html5元素</article> </body> </html>
4、高效创建节点的方法
innerHTML outerHTML innerText outerText
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> body{ width:100%; height:100%; } </style> <script src="DomReady.js"></script> </head> <body> <ul id="list"></ul> <script> var ul=document.getElementById("list"); var str="<li>item1</li>"+ "<li>item2</li>"+ "<li>item3</li>"; ul.innerHTML=str; </script> </body> </html>
使用innerHTML的限制:
IE6~8中,要求字符串的最左边不能出现空格,否则会被移除
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> body{ width:100%; height:100%; } div{ border:2px solid pink; background:#abcdef; } </style> <script src="DomReady.js"></script> </head> <body> <div id="box"></div> <script> var box=document.getElementById("box"); var str=" 这是一句话哦~"; box.innerHTML=str; </script> </body> </html>
大多数浏览器来说,使用该方法添加的script脚本是无效的,不会执行
script属于无作用域元素,使用innerHTML添加时会被要求删除
因此要求script必须在有作用域的元素之后,首选<input type="hidden">
并且需要给script添加defer属性
这种做法在IE6-8是有效的,在IE高版本以及其他浏览器中依旧无效
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> body{ width:100%; height:100%; } div{ border:2px solid pink; background:#abcdef; } </style> <script src="DomReady.js"></script> </head> <body> <div id="box"></div> <script> var box=document.getElementById("box"); var str="<input type='hidden'><script defer>alert('hello~');<\/script>"; box.innerHTML=str; </script> </body> </html>
不能单独创建style meta link等元素
除非也是放置在有作用域的元素之后,如<input type="hidden">
并且只在IE6-8中有效
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> body{ width:100%; height:100%; } </style> <script src="DomReady.js"></script> </head> <body> <div id="box"></div> <script> var box=document.getElementById("box"); var str="<input type='hidden'><style>body{background:#abcdef;}<\/style>"; box.innerHTML=str; </script> </body> </html>
innerHTML和outerHTML的区别:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> body{ width:100%; height:100%; } </style> <script src="DomReady.js"></script> </head> <body> <div id="box"><b>喵喵喵</b></div> <script> console.log(box.innerHTML);//<b>喵喵喵</b> console.log(box.outerHTML);//<div id="box"><b>喵喵喵</b></div> </script> </body> </html>
innerText 提取元素中所有的文本节点
只有文本
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> body{ width:100%; height:100%; } </style> <script src="DomReady.js"></script> </head> <body> <div id="box">开始~<b>喵喵喵~</b>结束~</div> <br> <div id="new1"></div> <div id="new2"></div> <script> console.log(box.innerText);//开始~喵喵喵~结束~ console.log(box.innerHTML);//开始~<b>喵喵喵~</b>结束~ var new1=document.getElementById("new1"); new1.innerHTML="<b>通过innerHTML添加的</b>"; var new2=document.getElementById("new2"); new2.innerText="<b>通过innerText添加的</b>"; </script> </body> </html>
低版本firefox不支持innerText
使用:textContent 兼容
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> body{ width:100%; height:100%; } </style> <script src="DomReady.js"></script> </head> <body> <div id="box">开始~<b>喵喵喵~</b>结束~</div> <script> //获取innerText function getInnerText(ele){ return (typeof ele.textContent=="string")?ele.textContent:ele.innerText; } //设置innerText function setInnerText(ele,text){ if(typeof ele.textContent=="string"){ ele.textContent=text; }else{ ele.innerText=text; } } console.log(getInnerText(box)); setInnerText(box,"这是通过setInnerText设置的文本哦") </script> </body> </html>
outerText在获取时和innerText相同
在设置时会替换掉本身的元素,因此不建议使用
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> body{ width:100%; height:100%; } </style> <script src="DomReady.js"></script> </head> <body> <div id="box">开始~<b>喵喵喵~</b>结束~</div> <script> console.log(box.outerText); box.outerText="这是通过outerText设置的文本哦"; </script> </body> </html>
-
操作DOM(一):创建节点、插入节点
2020-02-26 20:09:29创建节点 创建元素 原生:使用createElement()方法创建新元素,并返回新建元素的引用。该方法只有一个参数,用来指定创建元素的标签名称。如果要把创建的元素添加到文档中,还需要调用appendChild方法来实现 例: ... -
draw-selection:用于在 DOM 选择周围绘制框的节点模块
2021-06-26 14:13:37用于在 DOM 选择周围绘制框的节点模块。 安装 npm install draw-selection 跑步 drawSelection([containerEl [, styles]]) 参数 containerEl - (可选)插入框的Element (假设选择是相对于该容器的) styles - ... -
JQuery遍历DOM节点的方法
2021-01-19 20:41:13本节的核心是介绍JQuery的DOM操作,前面介绍了很多创建、删除、替换等等节点操作。这里介绍如何遍历节点,选中临近节点等的一些方法。 children()方法 该方法用于取得匹配元素的子元素集合。根据DOM树的结构,可以... -
DOM—操作元素(H5自定义属性) 节点操作(子、父、兄弟节点, 创建、添加节点, 删除节点,复制节点)
2022-02-19 21:01:51有些数据可以保存到页面中而不用保存到数据库中。 由于有些自定义属性很容易引起歧义,难以判断是元素内置属性还是自定义属性。 H5给我们新增了自定义属性: 1.1 设置H5自定义属性 H5规定自定义属性 date-开头... -
react中获取dom节点操作
2022-05-02 11:39:04通过该api在构造器中创建一个用于绑定dom节点的变量 用于绑定dom节点的变量 通过.current来获取真实dom this.textInput.current.focus(); class CustomTextInput extends React.Component { constructor... -
domsugar.js:DOM节点创建的瘦助手
2021-05-07 17:36:47DOMSugar-用于DOM节点创建的瘦助手 基于 DOM文档: -
DOMListenerExtension:Chrome扩展程序,可用于监视,浏览和过滤所有DOM更改
2021-01-30 07:48:54如果您发现错误或有功能请求,请在GitHub上创建一个问题。 谢谢 Sunil Agrawal的 作者 康拉德·德兹温内尔 执照 该程序是免费软件:您可以根据自由软件基金会发布的GNU通用公共许可证的条款(许可证的版本3)或... -
js之DOM操作(创建元素节点createElement)
2015-09-21 18:05:22此方法可返回一个 Element 对象。 语法: document.createElement(tagName) 参数: tagName:字符串值,这个字符串用来指明创建元素的类型。 注意:要与appendChild() 或 insertBefore()方法联合使用,将元素... -
consistent.js:一致的是一个小型且简单的Javascript框架,用于使抽象模型与DOM同步
2021-04-30 17:33:29一致的是一个小型且简单的Javascript框架,用于将抽象模型和控制器连接到DOM。 介绍 使用Consistent创建范围,然后将DOM节点绑定到该范围。 Consistent检查DOM节点(及其子节点),以了解如何将它们与作用域相关联... -
创建 DOM 元素的几种方式
2021-06-23 01:58:25通过write()、createElement()和innerHTML...如果字符串中有标签元素,会被识别为标签元素,并在文档中创建一个对应元素节点 但如果在文档加载完毕后才调用document.write(),则会重写整个文档,将之前所有的内容覆盖 -
小程序dom节点操作
2020-12-03 15:49:29wx.createSelectorQuery() 1.返回值是SelectorQuery 对象实例,SelectorQuery对象实例方法有 select wxml: <view class="txt">... //创建一个SelectorQuery 对象实例 query.select('.txt'). -
javascript dom中创建结点的三种方式
2018-06-21 19:30:21/*这个方式仅仅是添加了一个元素 并没有添加到页面中 可以在控制台上找到 页面上并没有显示*/ var mydiv = document . createElement ( "div" ); mydiv . className = "box3" ; console . log ( mydiv )... -
Javascript和Jquery对DOM节点的文本创建、获取及操作
2018-03-18 09:59:28Javascript和Jquery对DOM节点的文本创建、获取及操 javascript和jquery获取,添加,删除等操作DOM节点,文本及属性 如:JS:atteibutes/firstChild/appendChild()/getAttribute() JQ: attr()/next()/siblings()/... -
原生js实现针对Dom节点的CRUD操作示例
2021-01-19 18:14:33本文实例讲述了原生js实现针对Dom节点的CRUD操作。分享给大家供大家参考,具体如下: 知识点,依然会遗忘。我在思考到底是什么原因。...dom提供了api用于创建节点常用有 var div=document.createEl -
DOM(文档对象模型)的12个节点类型
2021-01-04 02:50:06这个树自然有很多节点 。这些节点虽然都继承Node类型,但是这些节点可能分属于不同的子节点类型。 首先我们看一下Node类,此类为基类。 因此 这个类的方法和属性会被所有的节点共同继承。 属性: int nodeType//doc ... -
scrollyteller:一个用于创建讲故事的React组件
2021-05-11 21:02:43滚动文本获取一系列内容节点面板,并将它们变成一系列元素,这些元素在组件的子元素上滚动。 panels道具的格式为: [ { data: { info: 'Some kind of config that is given when this marker is active' }, ... -
JS 进阶(5) DOM操作:dom加载完毕执行js、创建节点、遍历节点、查找节点、删除节点
2018-11-02 10:06:37dom可以看成一个树形结构,dom的加载顺序就是从上到下,我们一再强调将js文件放在尾部,就是因为如果js脚本在dom文档构造之前执行,这样js就无法访问dom文档对象模型。 1.1 jquery 等待页面dom树加载完毕,再... -
vue底层之虚拟Dom和Diff算法详解(snabbdom子节点更新策略详解)
2022-04-05 22:23:53vue底层之虚拟Dom和Diff算法和snabbdom子节点更新策略详解 -
vue:虚拟dom的实现
2021-01-16 19:56:14Vitual DOM是一种虚拟dom技术,本质上是基于javascript实现的,相对于dom对象,javascript对象更简单,处理速度更快,dom树的结构,...{//dom的属性,用一个对象存储键值对id:'list'},children:[//该节点的子节点{t... -
jquery.superdom:jQuery插件,用于非XHTML命名空间(如SVG)中的DOM操作
2021-05-18 03:55:19jquery.superdom -- jQuery插件,用于非XHTML名称... 在其他名称空间中创建DOM节点: $ ( '<svg:text/>' ) . text ( 'content' ) . appendTo ( $ ( 'body svg' ) ) ; $ ( 'body svg' ) . append ( '<svg: -
JavaScript基础12-day14【DOM查询(获取元素节点、获取元素节点的子节点)、全选练习、DOM增删改、DOM添加...
2021-01-21 21:23:42DOM查询(获取元素节点、获取元素节点的子节点)、全选练习、DOM增删改、DOM添加删除记录、Window对象方法 -
JavaScript基础(DOM)-Document对象、Element 对象、Attribute 对象、动态的创建 删除 添加节点
2017-11-25 03:17:14通过 HTML DOM,可访问 JavaScript HTML 文档的所有元素。 当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model)。 通过 JavaScript,您可以重构整个 HTML 文档。您可以添加、移除、改变或... -
DOM中常见的节点操作方法
2018-06-27 20:44:591.创建节点 a.创建元素节点:document.createElement("div"); b.创建文本节点:document.createNode("Hello world");2.插入节点 a.在父元素中插入节点:parentNode.appendChild(newNode); b... -
quick-dom:用于向 node.js 全局对象添加类似浏览器的文档的单行程序,在测试基于 DOM 的应用程序时很有用
2021-06-18 10:00:45它基于 jsdom: ://npmjs.org/package/jsdom 并创建一个空文档。 安装 npm install quick-dom 如何使用 这会将“window”和“document”添加到节点应用程序中的全局对象。 require ( "quick-dom" ) ; console . ...