XML DOM insertBefore() పద్ధతి
నిర్వచనం మరియు వినియోగం
insertBefore() పద్ధతి ఇప్పటికే ఉన్న పిల్లలు ముందు ఒక కొత్త పిల్లలు ప్రవేశపెడతుంది.
ఈ పద్ధతి కొత్త పిల్లలు నోడ్ తిరిగి ఇస్తుంది.
సంకేతం:
elementNode.insertBefore(new_node,existing_node)
పారామీటర్స్ | వివరణ |
---|---|
new_node | అవసరం. ప్రవేశపెడవలసిన నోడ్. |
existing_node | అవసరం. ఇప్పటికే ఉన్న నోడ్. |
సలహా మరియు అన్యాయం:
అన్యాయం:ఇంటర్నెట్ ఎక్స్ప్లోరర్ నోడ్ మధ్య ఉన్న కాలినిగా చేసిన వాక్యం నోడ్స్ ను విస్మరిస్తుంది (ఉదాహరణకు కార్ట్ రింగ్ చారక్రందులు), కానీ మొజిలా అలా చేయదు. అందువల్ల, చివరి పిల్లలు నోడ్ యాజమాన్యం తనిఖీ చేయడానికి మేము ఫంక్షన్ ఒకటిని వాడుతున్నాము.
ఎలమెంట్ నోడ్ యాజమాన్యం 1 ఉంది, కాబట్టి చివరి పిల్లలు ఎలమెంట్ నోడ్ కాది ఉంటే ముంది నోడ్ కు జరిగిస్తుంది మరియు ఆ నోడ్ ఎలమెంట్ నోడ్ కాదా తనిఖీ చేస్తారు. ఈ ప్రక్రియ చివరి ఎలమెంట్ నోడ్ పిల్లలు దొరకడానికి సరిపోయే వరకు కొనసాగుతుంది. ఈ పద్ధతి ద్వారా ఇంటర్నెట్ ఎక్స్ప్లోరర్ మరియు మొజిలా లో సరైన ఫలితాలను పొందవచ్చు.
IE మరియు Mozilla బ్రౌజర్ల మధ్య వ్యత్యాసాలను మరింత తెలుసుకోవడానికి మీరు CodeW3C.com లోని XML DOM ట్యూటోరియల్ లో చూడవచ్చు: DOM బ్రౌజర్ ఈ భాగంలో.
ఉదాహరణ
అన్ని ఉదాహరణలలో, మేము ఎక్కడా XML ఫైల్స్ వాడుతాము: 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));