XML DOM insertBefore() method

Node 对象参考手册

Paglilinaw at Paggamit

Ang methodong insertBefore() ay maaaring idagdag ang isang bagong anak na node bago ang kasalukuyang anak na node.

Ang paraan na ito ay maaaring ibalik ang bagong anak na node.

Gramata:

insertBefore(newchild, refchild)
parameter paliwanag
newchild Idagdag ang bagong node
refchild Idagdag ang bagong node bago ang kasalukuyang node

Paalala at Komento

Komento:Ang Internet Explorer ay iiwan ang walang kahulugan na text node na nabuo sa pagitan ng mga node (halimbawa, simbolo ng pagsusunod), habang hindi gagawin ito ng Mozilla. Kaya, sa mga susunod na halimbawa, gamit namin ang isang function upang suriin ang uri ng node ng huling anak na node.

Ang uri ng node ng elemento ay 1, kaya kung ang unang anak na node ay hindi isang elemento na node, ito ay ilipat sa susunod na node at magpatuloy na suriin kung ito ay elemento na node. Ang prosesong ito ay magpapatuloy hanggang ang unang elemento na anak na node ay natagpuan. Sa pamamagitan ng paraan na ito, maaari naming makakuha ng tamang paraan sa Internet Explorer at Mozilla.

paalala:Para sa mas maraming impormasyon tungkol sa pagkakaiba ng XML DOM sa pagitan ng IE at Mozilla na browser, bisita ang aming DOM na browser kabanata.

halimbawa

Sa lahat ng halimbawa, gamit namin ang file na XML books.xml,at ang function ng JavaScript loadXMLDoc()

下面的下面片段可创建一个新的 <book> 节点,并在文档中的最后一个 <book> 元素前插入此节点:

//check if the last childnode is an element node
function get_lastchild(n)
{
var x=n.lastChild;
while (x.nodeType!=1)
{
x=x.previousSibling;
}
return x;
}
xmlDoc=loadXMLDoc("books.xml");
var newNode=xmlDoc.createElement("book");
var newTitle=xmlDoc.createElement("title");
var newText=xmlDoc.createTextNode("A Notebook");
newTitle.appendChild(newText);
newNode.appendChild(newTitle);
xmlDoc.documentElement.insertBefore(newNode,get_lastchild(x));

Node 对象参考手册