DOM 添加节点

创建于 2024-12-03 / 35
字体: [默认] [大] [更大]

尝试一下 - 实例

下面的实例使用XML文件 books.xml.

在最后一个子节点之后添加一个节点
本例使用appendChild()将子节点添加到现有节点。

在指定子节点前添加节点
此实例使用insertBefore()在指定的子节点之前插入节点。

添加新属性
本例使用setAttribute()方法添加新属性。

向文本节点添加数据
本例使用insertData()将数据插入现有文本节点。

×

Header


添加节点-appendChild()

appendChild() 方法将子节点添加到现有节点。

新节点将添加(附加)到任何现有子节点之后。

注释: 如果节点的位置很重要,请使用insertBefore()。

此代码片段创建一个元素(<edition>),并将其添加到第一个<book>元素的最后一个子元素之后:

实例

newEle = xmlDoc.createElement("edition");

xmlDoc.getElementsByTagName("book")[0].appendChild(newEle); 尝试一下 »

实例说明:

  1. 假设 "books.xml"被加载到 xmlDoc 中
  2. 创建新节点 <edition>
  3. 将节点附加到第一个<book>元素

此代码片段执行与上面相同的操作,但新元素添加了一个值:

实例

newEle = xmlDoc.createElement("edition");
newText=xmlDoc.createTextNode("first");
newEle.appendChild(newText);

xmlDoc.getElementsByTagName("book")[0].appendChild(newEle); 尝试一下 »

实例说明:

  1. 假设 "books.xml"被加载到 xmlDoc 中
  2. 创建新节点 <edition>
  3. 创建新的文本节点 "first"
  4. 将文本节点附加到<edition>节点
  5. 将<addition>节点附加到<book>元素


插入节点-insertBefore()

insertBefore() 方法的作用是:在指定的子节点之前插入一个节点。

当添加的节点的位置很重要时,此方法很有用:

实例

newNode = xmlDoc.createElement("book");

x = xmlDoc.documentElement;
y = xmlDoc.getElementsByTagName("book")[3];

x.insertBefore(newNode,y); 尝试一下 »

实例说明:

  1. 假设 "books.xml"被加载到 xmlDoc 中
  2. 创建新元素节点 <book>
  3. 在最后一个<book>元素节点前面插入新节点

如果insertBefore()的第二个参数为空,则新节点将添加到最后一个现有子节点之后。

x.insertBefore(newNode,null)x.appendChild(newNode) 都将向x追加一个新的子节点。


添加新属性

setAttribute() 方法设置属性的值。

实例

xmlDoc.getElementsByTagName('book')[0].setAttribute("edition","first"); 尝试一下 »

实例说明:

  1. 假设 "books.xml"被加载到 xmlDoc 中
  2. 对于第一个<book>元素,将属性te "edition"的值设置为"first"

如果没有名为 Attribute()的方法
如果属性不存在,setAttribute()将创建一个新属性。

注释: 如果属性已经存在,setAttribute()方法将覆盖现有值。


向文本节点添加文本-insertData()

insertData() 方法将数据插入到现有的文本节点中。

insertData() 方法有两个参数:

  • offset - 从何处开始插入字符(从零开始)
  • string - 要插入的字符串

以下代码片段将向加载的XML的第一个<title> 元素的文本节点添加"Easy":

实例

xmlDoc.getElementsByTagName("title")[0].childNodes[0].insertData(0,"Easy "); 尝试一下 »

0 人点赞过