XML DOM insertBefore() फ़ंक्शन
व्याख्या और उपयोग
insertBefore() फ़ंक्शन एक नया उपनोड़ नोड को मौजूदा उपनोड़ नोड के पहले जोड़ता है。
इस फ़ंक्शन से नया उपनोड़ नोड वापस किया जाता है。
व्याकरण:
elementNode.insertBefore(new_node,existing_node)
पारामीटर | वर्णन |
---|---|
new_node | आवश्यक। जोड़ने के लिए नोड। |
existing_node | आवश्यक। मौजूदा नोड। नए नोड को इस नोड के पहले जोड़ें। |
सूचना और टिप्पणी:
टिप्पणी:इंटरनेट एक्सप्लोरर नोड के बीच बने खाली टेक्स्ट नोड को अनदेखा करता है (जैसे ब्रेक लाइन चार्ज), जबकि मोज़िला ऐसा नहीं करता। इसलिए, नीचे के उदाहरण में, हम एक फ़ंक्शन का उपयोग करते हैं जो अंतिम उपनोड़ नोड के नोड टाइप की जाँच करता है。
एलीमेंट नोड के नोड टाइप 1 है, इसलिए अंतिम उपनोड़ एलीमेंट नोड नहीं होता है तो पिछले नोड को जाएँ और इस नोड को एलीमेंट नोड है की जाँच करें। इस प्रक्रिया को तब तक जारी रखा जाता है जब तक एलीमेंट नोड का अंतिम उपनोड़ नोड पाया जाए। इस तरीके से इंटरनेट एक्सप्लोरर और मोज़िला में सही परिणाम प्राप्त होते हैं。
आईई और मोज़िला ब्राउज़रों के बीच के फ़र्क के बारे में अधिक जानकारी के लिए 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));