XML DOM insertBefore() method
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));