JavaScript 动态网页实例 —— DOM中的节点操作

本文介绍了JavaScript中DOM节点操作的实战技巧,包括节点的插入与追加、复制、删除与替换以及内容修改。通过示例代码详细解析了appendChild()、insertBefore()、cloneNode()、removeChild()和replaceChild()等方法的用法,帮助开发者更好地理解和运用JavaScript动态更新网页内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        DOM是 Document Object Model的缩写,由W3C进行标准化。文档对象模型(DOM)是一个基础性概念,主要涉及网页页面元素的层次关系。很好地理解文档对象模型(DOM)的概念,对于编写出高效、实用的JavaScript程序是非常有帮助的。DOM将HTML文档理解为一棵完整的代码树,每个HTML标签就是该树上的一个节点。本章介绍DOM中的节点操作,主要包括:节点插入与追加、节点复制、节点删除与替换、修改节点内容等知识。

节点插入与追加

本节给出一段节点插入与追加的示例代码,可以实现在页面中某节点前或节点后插入新的节点。

要点

        本节代码主要使用了Node(节点)对象的insertBefore(newChild,referenceChild)方法和appendChild(newChild)方法,其主要功能和用法如下。

  • appendChild()方法作为某节点的方法来调用,在该节点的子节点列表的结尾添加一个newChild。
  • insertBefore()方法指定在 referenceChild 之前插入一个 newChild。在实际应用中,需要访问某个节点的双亲节点,以获得insertBefore()方法必要的信息。
  • 如果已有节点“newNode=documentcreateElement(b’);”和节点“newText=document.createTextNode("Something to add!");”,经过 appendChild()方法结合后,会得到 HTML语句:“<b>Something to add</b>”。
<script type="text/javascript">
<!--
function makeNode(str)  //创建结点函数
{
var newParagraph = document.createElement("p");     //创建新元素p
var newText = document.createTextNode(str);         //创建新文本
newParagraph.appendChild(newText);                //追加一个新的子结点
return newParagraph;                               //返回该段落
}
function appendBefore(nodeId, str)  //前插入函数
{
var node = document.getElementById(nodeId);
var newNode = makeNode(str);
if (node.parentNode)           //如果存在双亲结点
node.parentNode.insertBefore(newNode,node);  //在当前结点前插入新结点
}
function insertWithin(nodeId, str)  //中插入函数
{
var node = document.getElementById(nodeId);
var newNode = makeNode(str);
node.appendChild(newNode);                   //追加一个新的子结点
}
function appendAfter(nodeId, str)  //后插入函数
{
var node = document.getElementById(nodeId);
var newNode = makeNode(str);
if (node.parentNode)                    // 如果存在双亲结点
{ 
if (node.nextSibling)           //如果存在下一子结点
//前插入子结点
node.parentNode.insertBefore(newNode, node.nextSibling);
else //如果没有下一子结点
//后追加子结点
node.parentNode.appendChild(newNode);
}
}
//-->
</script>

分析

(1)程序首先创建了一个<d

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值