javascript学习笔记七
2021/7/27 9:05:37
本文主要是介绍javascript学习笔记七,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
DOM 元素 节点
一、创建新的 HTML 元素节点 - appendChild()
创建新的 HTML 元素节点需要先创建一个元素,然后在已存在的元素中添加节点;
<div id="demo"> <p>段落。</p> <p>段落二。</p> </div> <script type="text/javascript"> var varp = document.createElement("p"); var node = document.createTextNode("我是新加人的段落 。"); varp.appendChild(node); var element = document.getElementById("demo"); element.appendChild(varp); </script>
注意:appendChild()添加元素是添加新元素到尾部
二、创建新的 HTML 元素节点 - insertBefore()
<div id="demo"> <p id='p'>段落。</p> <p id='p1'>段落二。</p> </div> <script type="text/javascript"> var varp = document.createElement("p"); var node = document.createTextNode("这是一个新的段落。"); varp.appendChild(node); var element = document.getElementById("demo"); var child = document.getElementById("p"); element.insertBefore(varp, child); </script>
与appendChild()添加在最后不同的时,insertBefore()是在段前插入新元素。
三、移除已存在的元素
要移除一个元素,你需要知道该元素的父元素。移除已存在的元素使用node.remove() 方法。
<div id="demo"> <p id="p1">第一个段落。</p> <p id="p2">第二个段落。移除了就看不到我了</p> <button onClick="delpElemennt()">移除段落</button> </div> <script type="text/javascript"> function delpElemennt(){ var varp = document.getElementById("demo");//查找 id="demo" 的元素 var child = document.getElementById("p1");//查找 id="p1" 的 <p> 元素 varp.removeChild(child);//从父元素中移除子节点 } </script>
此示例中,点击按钮button事件delpElemennt(),移除ID为p2的段落。代码是已知要查找的子元素,然后查找其父元素,再删除这个子元素(删除节点必须知道父节点)
四、替换 HTML 元素
我们可以使用 replaceChild() 方法来替换 HTML DOM 中的元素
<div id="demo"> <p id="p1">这是一个段落。</p> <p id="p2">这是另外一个段落。</p> </div> <script type="text/javascript"> var varp = document.createElement("p"); var node = document.createTextNode(" replaceChild替换段落。"); varp.appendChild(node); var demoId = document.getElementById("demo"); var child = document.getElementById("p1"); demoId.replaceChild(varp, child); </script>
HTML DOM 集合
一、HTMLCollection 对象
getElementsByTagName() 方法返回 HTMLCollection 对象。HTMLCollection 对象类似包含 HTML 元素的一个数组。集合中的元素可以通过索引(以 0 为起始位置)来访问。
<h1>HTML DOM</h1> <p>javascript:;</p> <p id="demo"></p> <script type="text/javascript"> var collection = document.getElementsByTagName("p"); document.getElementById("demo").innerHTML = "P 段落的内容为:<span style='color:red;'> " + collection[0].innerHTML + '</span>'; </script>
二、HTMLCollection 对象 length 属性
<h1>HTML DOM</h1> <p>javascript:;</p> <p id="demo"></p> <p id="demo2"></p> <script type="text/javascript"> var collection = document.getElementsByTagName("p"); document.getElementById("demo").innerHTML = "P 段落的内容为:<span style='color:red;'> " + collection[0].innerHTML + '</span>'; document.getElementById("demo2").innerHTML = collection.length; </script>
HTMLCollection 对象的 length 属性定义了集合中元素的数量。
注意:
HTMLCollection 不是一个数组!
HTMLCollection 看起来像是一个数组,但其实不是。可以像数组一样,使用索引来获取元素。
HTMLCollection 无法使用数组的方法: valueOf(), pop(), push(), 或 join() 。
NodeList节点列表
NodeList 对象类似 HTMLCollection 对象。NodeList 对象是一个从文档中获取的节点列表 (集合) ,一些旧版本浏览器中的方法(如:getElementsByClassName())返回的是 NodeList 对象,而不是 HTMLCollection 对象。所有浏览器的 childNodes 属性返回的是 NodeList 对象。大部分浏览器的 querySelectorAll() 返回 NodeList 对象。
<h1>HTML DOM</h1> <p>javascript nodelist;</p> <button onclick="bunNodelist()">点击测试</button> <script type="text/javascript"> function bunNodelist() { var nodelist = document.querySelectorAll("p");//获取 <p> 元素的集合 var i; for (i = 0; i < nodelist.length; i++) { nodelist[i].style.color = "#f90000"; } } </script>
注意:
节点列表不是一个数组!
节点列表看起来像是一个数组,但其实不是。你可以像数组一样,使用索引来获取元素。
节点列表无法使用数组的方法: valueOf(), pop(), push(), 或 join() 。
HTMLCollection 与 NodeList 的区别
- HTMLCollection 是 HTML 元素的集合。
- NodeList 是一个文档节点的集合。
- NodeList 与HTMLCollection 有很多类似的地方。
- NodeList 与 HTMLCollection 都与数组对象有点类似,可以使用索引 (0, 1, 2, 3, 4, 5, …)来获取元素。
- NodeList 与 HTMLCollection 都有 length 属性。元素可以通过索引(以 0 为起始位置)
- HTMLCollection 元素可以通过 name,id 或索引来获取。
- NodeList 只能通过索引来获取。
- 有 NodeList 对象有包含属性节点和文本节点。
这篇关于javascript学习笔记七的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-14动态路由项目实战:从入门到上手
- 2024-11-14函数组件项目实战:从入门到简单应用
- 2024-11-14获取参数项目实战:新手教程与案例分析
- 2024-11-14可视化开发项目实战:新手入门教程
- 2024-11-14可视化图表项目实战:从入门到实践
- 2024-11-14路由懒加载项目实战:新手入门教程
- 2024-11-14路由嵌套项目实战:新手入门教程
- 2024-11-14全栈低代码开发项目实战:新手入门指南
- 2024-11-14全栈项目实战:新手入门教程
- 2024-11-14useRequest教程:新手快速入门指南