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