DOM 添加节点
-
appendChild() 方法
appendChild() 方法将子节点添加到现有节点。新节点将添加(附加)在任何现有子节点之后。注意:如果节点的位置很重要,请使用 insertBefore()。此代码片段创建一个元素(<edition>),并将其添加到第一个<book>元素的最后一个子元素之后:
尝试一下newEle = xmlDoc.createElement("edition"); xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);
示例说明:- 假设 books.xml 已加载到 xmlDoc 中。
- 创建一个新的元素节点<edition>
- 将元素节点附加到第一个<book>元素
此代码片段与上面的代码相同,但是新元素添加了一个值:
尝试一下newEle = xmlDoc.createElement("edition"); newText=xmlDoc.createTextNode("first"); newEle.appendChild(newText); xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);
示例说明:- 创建一个新节点<edition>
- 创建一个新的文本节点 “first”
- 将文本节点追加到<edition>节点
- 将<addition>节点附加到<book>元素
-
insertBefore() 方法
由于 insertBefore() 方法在指定的子节点之前插入一个节点。当添加的节点的位置很重要时,此方法很有用:
尝试一下newNode = xmlDoc.createElement("book"); x = xmlDoc.documentElement; y = xmlDoc.getElementsByTagName("book")[3]; x.insertBefore(newNode,y);
示例说明:- 假设 books.xml 已加载到 xmlDoc 中。
- 创建一个新的元素节点<book>
- 将新节点插入最后一个<book>元素节点的前面
如果 insertBefore() 的第二个参数为 null,则新节点将添加到最后一个现有子节点之后。x.insertBefore(newNode,null) 和 x.appendChild(newNode) 都会向 x 附加一个新的子节点。 -
-
insertData() 方法
nsertData() 方法将数据插入到现有的文本节点中。insertData() 方法具有两个参数:- offset-从何处开始插入字符(从零开始)
- string-要插入的字符串
以下代码片段将 “Easy” 添加到已加载的XML的第一个 <title> 元素的文本节点中:
尝试一下xmlDoc.getElementsByTagName("title")[0].childNodes[0].insertData(0,"Easy ");