XML DOM insertBefore() 方法

定义和用法

insertBefore() 方法在已有的子节点之前插入一个新的子节点。

该方法返回这个新的子节点。

语法:

elementNode.insertBefore(new_node,existing_node)
参数 描述
new_node 必需。要插入的节点。
existing_node 必需。已有节点。在此节点之前插入新节点。

提示和注释:

注释:Internet Explorer 会忽略节点之间生成的空白文本节点(比如换行字符),而 Mozilla 不这么做。因此,在下面的例子中,我们使用一个函数来检查最后一个子节点的节点类型。

元素节点的节点类型是 1,因此如果最后一个子节点不是元素节点,则移动到上一个节点,并检查这个节点是否是元素节点。这个过程一直会持续到找到最后一个属于元素节点的子节点为止。通过这个方法,在 Internet Explorer 和 Mozilla 中都会得到正确的结果。

Kwa mafanikio ya kipya kuhusu muhimu wa IE na Mozilla Mfumo wa Kifunguo, tazama mafunzo ya XML DOM katika CodeW3C.com DOM Mfumo wa Kifunguo hii sektioni.

mimiko

Kati ya mafanikio yote, tumekuwa tukichukua faili ya XML books.xmlna kwa uwanja wa JavaScript loadXMLDoc()

Mafuatilia ya kodi hii inakubalia kichwa kipya cha <book> na kuienea kwenye kichwa kimeingia cha kipimo cha <book> kidogo kabla ya kichwa cha kipimo kikuu:

//tathmini ni kiumbeji wa mtoaji wa kwanza
function get_lastchild(n)
{
x=n.lastChild;
ingawa (x.nodeType!=1)
  {
  x=x.previousSibling;
  }
kureturne x;
}
xmlDoc=loadXMLDoc("books.xml");
newNode=xmlDoc.createElement("book");
newTitle=xmlDoc.createElement("title");
newText=xmlDoc.createTextNode("A Notebook");
newTitle.appendChild(newText);
newNode.appendChild(newTitle);
xmlDoc.documentElement.insertBefore(newNode,get_lastchild(x));