关于DOM树的常见增删操作

//具体关于DOM的内容可参考我的另外一篇文章“文本对象模型(Document Object Model)”.

案例要点:

1.创建并增加元素节点

2.判断是否存在子节点

3.新建节点插入指定子节点的前面

4.替换子节点

5.删除指定节点

★ 示例一  创建并增加元素节点(appendChild(childItem))

实现代码

  1. <ul id="ul">
  2. <li>1</li>
  3. <li>2</li>
  4. <li>3</li>
  5. <li>4</li>
  6. </ul>
  7. <script>
  8. var parentElement = document.getElementById("ul");
  9. var NewNode = document.createElement("li");
  10. NewNode.innerText="AddNode";
  11. parentElement.appendChild(NewNode);
  12. </script>

★ 示例二  判断是否存在子节点(hasNodes())

实现代码

  1. <ul id="ul">
  2. <li>1</li>
  3. <li>2</li>
  4. <li>3</li>
  5. <li>4</li>
  6. </ul>
  7. <ol id="ol"></ol>
  8. <script>
  9. var parentElement = document.getElementById("ul");
  10. var parentElement2=document.getElementById("ol");
  11. if (parentElement.hasChildNodes()){
  12. alert("<ul>有子节点");
  13. }
  14. if(parentElement2.hasChildNodes()){
  15. alert("<ol>有子节点");
  16. }
  17. </script>

最终的效果,应该是只弹出提示框“<ul>有子节点”。

★ 示例三  新建子节点插入到已知节点的前面(insertBefore())

实现代码

  1. <ul id="ul">
  2. <li>1</li>
  3. <li>2</li>
  4. <li>3</li>
  5. <li>4</li>
  6. </ul>
  7. <script>
  8. var parentElement = document.getElementById("ul");
  9. var secondNode = parentElement.getElementsByTagName("li")[1];
  10. var NewNode = document.createElement("li");
  11. NewNode.innerText = "insertNode";
  12. parentElement.insertBefore(NewNode, secondNode); //将NewNode插入在secondNode前面
  13. </script>

★ 示例四  替换指定子节点(replaceChild())

实现代码

  1. <ul id="ul">
  2. <li>1</li>
  3. <li>2</li>
  4. <li>3</li>
  5. <li>4</li>
  6. </ul>
  7. >
  8. var parentElement = document.getElementById("ul");
  9. var secondNode = parentElement.getElementsByTagName("li")[1];
  10. var NewNode = document.createElement("li");
  11. NewNode.innerText = "replaceNode";
  12. parentElement.replaceChild(NewNode, secondNode); //将secondNode替换成NewNode
  13. </script>

★ 示例五  删除节点(removeChild())

实现代码

  1. <ul id="ul">
  2. <li>1</li>
  3. <li>2</li>
  4. <li>3</li>
  5. <li>4</li>
  6. </ul>
  7. <script>
  8. var parentElement = document.getElementById("ul");
  9. var secondNode=parentElement.getElementsByTagName("li")[1];
  10. parentElement.removeChild(secondNode);
  11. </script>


我的疑惑:对swapNode()--两个节点位置交换的实现方法,一直没实现,希望路过的大牛,指点迷津~

来自为知笔记(Wiz)

时间: 2024-10-10 23:17:03

关于DOM树的常见增删操作的相关文章

DOM树操作

DOM 操作 访问与树关系(节点) 绘制 DOM 树: childNodes, attributes 从一个中心元素访问其所有的直系亲属元素 访问父节点: parentNode 访问上一个兄弟节点: previousSibling 访问下一个兄弟节点: nextSibling 访问第一个属性节点: attributes[ 1 ] 访问第一个子节点:fristChild 或 childNodes[ 0 ] 访问最后一个子节点: lastChild 或 childNodes[ childNodes.

jQuery操作列表数据转成Json再输出为html dom树

jQuery 把列表数据转成Json再输出为如下 dom树 <div id="menu" class="lv1"> <ul class="menu"> <li><a href="#" class="parent"><span>aaaaaaaaaaa</span></a> <div class="lv2&quo

jacascript DOM节点——节点关系与操作

前言:这是笔者学习之后自己的理解与整理.如果有错误或者疑问的地方,请大家指正,我会持续更新! 节点关系 DOM可以将任何HTML描绘成一个由多层节点构成的结构.每个节点都拥有各自的特点.数据和方法,也与其他节点存在某种关系.节点之间的关系构成了层次,而所有页面标签则表现为一个以特定节点为根节点的树形结构,也就是DOM树.下图为各节点之间的关系: 父级属性 parentNode 和 parentElement 每个节点都有一个 parentNode 属性,该属性指向文档树中的父节点.对于一个节点来

DOM以及DOM树

JS有三个部分组成 ES DOM  BOM DOM就是专门操作HTML内容的API DOM分为核心DOM 与 HTML DOM两种,前者能够操作所有结构化文档,后者就对常用的API进行简化 网页中一切在内存中都是以树形结构存储的 存储上下级包含关系最直观的结构 HTML中的每一个元素:元素,属性,文本 都是一个节点对象(Node) document对象是整棵树的根节点 节点对象(Node) 三大属性: 1.nodeType number 专门区分节点的类型: 9 document 1 eleme

从Chrome源码看浏览器如何构建DOM树

.aligncenter { clear: both; display: block; margin-left: auto; margin-right: auto } p { font-size: 15px; text-indent: 2em } #colorbox.crayon-colorbox,#cboxOverlay.crayon-colorbox,.crayon-colorbox #cboxWrapper { position: absolute; top: 0; left: 0; z-

【VB6】使用VB6创建和访问Dom树【爬虫基础知识 】

使用VB6创建和访问Dom树 关键字:VB,DOM,HTML,爬虫,IHTMLDocument 我们知道,在VB中一般大家会用WebBrowser来获取和操作dom对象. 但是,有这样一种情形,却让我们纠结不已: 我们需要做爬虫,然后爬虫不需要太高的效率,但是我们被复杂的正则表达式给弄的头晕眼花. 不知道何去何从. 今天,下定决心研究下html的解析,终于掌握了对IHTMLDocument等接口对象的使用. 源代码放在:http://www.extencent.com 具体的文章将会放在博客园以

通过Ztree生成页面html元素Dom树,以及拖拽改变元素的位置

zTree 是一款依靠 jQuery 实现的多功能 "树插件",http://www.treejs.cn/v3/main.php#_zTreeInfo,功能强大,不多赘述. 下面我将介绍如何实现使用该插件生成HTML元素Dom树,并对其进行多样操作. 先贴上一个简单的HTML页面(直接拿的ztree的用的,画面简单实用,里面的文字内容不用在意) 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-e

Windows下常用的100个CMD指令以及常见的操作

Windows下常用的100个CMD指令以及常见的操作 常用的100个CMD指令 gpedit.msc-–组策略 2. sndrec32---录音机 3. Nslookup---IP地址侦测器 ,是一个 监测网络中 DNS 服务器是否能正确实现域名解析的命令行工具. 它在 Windows NT/2000/XP 中均可使用 , 但在 Windows 98 中却没有集成这一个工具. 4. explorer---打开资源管理器 5. logoff---注销命令 6. shutdown---60秒倒计时

dom树的介绍,及原理分析

三.解析和DOM树的构建 1.解析: 由于解析渲染引擎是一个非常重要的过程,我们将会一步步的深入,现在让我们来介绍解析. 解析一个文档,意味着把它转换为一个有意义的结构——代码可以了解和使用的东西,解析 的结果通常是一个树的节点集合,用来表示文档结构,它被称为解析树或者语法树. 例子: 解析表达式“2+3-1”,返回树如下图3.1 1).语法: 解析是基于文档所遵循的语法规则——书写所用的语言或格式——来进行的.每一种可以解析的格式必须由确定的语法与词汇组成.这被称之为上下文无关语法. 人类语言