XML DOM insertBefore() 方法

定义和用法

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

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

语法:

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

提示和注释:

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

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

IE နှင့် Mozilla ဘွတ်စား ကြား အခြေအနေ ပြင်းပြင်းထန်ထန် ကြောင်း သိရှိသင့် သည့် အချက် အလက် ကို သိမ်းသွင်းရန် ကျမ်းသား အချက် အလက် ကို ကြည့်ရှုရန် DOM ဘွတ်စား ဒီ လုံးလောက်

အကျိုး

ဒီ အမျိုးမျိုး သုံးစွဲခြင်း တွင် ကျမ်းသား အချက် အလက် ကို သုံးစွဲပါ books.xmlနှင့် ဂျက်ဆိုင် ဖော်ထုတ်ရေး ပုံစံ loadXMLDoc()

ဒီ ကုံး ကြောင်း အချက် အလက် မှာ <book> အုပ် တစ်ခု ကို ဖန်တီး ပြီး မူ ပြည့်တန်း ကုံး <book> အချက် အလက် အခြား ဖြစ်သည့် အရင်သို့ ထိန်းချိန့်ပြီးပြီ

//check if the last childnode is an element node
function get_lastchild(n)
{
x=n.lastChild;
while (x.nodeType!=1)
  {
  x=x.previousSibling;
  }
return 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));