एक्सएमएल डोम पिछलीसिबलिंग प्रॉपर्टी
नोड वस्तु
उदाहरण
निम्नलिखित कोड खंड " books.xml " को xmlDoc में लोड करता है और पहले <author> तत्व से पिछला सिबलिंग नोड प्राप्त करता है:
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
myFunction(this);
}
};
xhttp.open("GET", "books.xml", true);
xhttp.send();
//
Check if the previous sibling node is an element node
function
get_previoussibling(n) {
var x = n.previousSibling;
while (x.nodeType != 1) {
x =
x.previousSibling;
}
return x;
}
function myFunction(xml) {
var xmlDoc = xml.responseXML;
var x = xmlDoc.getElementsByTagName("author")[0];
var y
= get_previoussibling(x);
document.getElementById("demo").innerHTML
= x.nodeName + " = " +
x.childNodes[0].nodeValue +
"<br>Previous sibling: " + y.nodeName + " = " +
y.childNodes[0].nodeValue;
}
उपरोक्त कोड का आउटपुट होगा:
author = Giada De Laurentiis
Previous sibling: title = Everyday Italian
परिभाषा और उपयोग
पिछला सिबलिंग गुण नोड (उसी ट्री स्तर में निम्न नोड) से ठीक पहले नोड लौटाता है।
यदि ऐसा कोई नोड नहीं है, तो यह गुण शून्य हो जाता है।
वाक्य - विन्यास
nodeObject.previousSibling
टिप्स और नोट्स
नोट: फ़ायरफ़ॉक्स, और अधिकांश अन्य ब्राउज़र, खाली सफेद-रिक्त स्थान या नई पंक्तियों को टेक्स्ट नोड्स के रूप में मानेंगे, इंटरनेट एक्सप्लोरर ऐसा नहीं करेगा। ओ, नीचे दिए गए उदाहरण में, हमारे पास एक फ़ंक्शन है जो पिछले सिबलिंग नोड के नोड प्रकार की जांच करता है।
एलिमेंट नोड्स में 1 का नोड टाइप होता है, इसलिए यदि पिछला सिबलिंग नोड एलिमेंट नोड नहीं है, तो यह अगले नोड में चला जाता है, और जांचता है कि यह नोड एलिमेंट नोड है या नहीं। यह तब तक जारी रहता है जब तक कि पिछले सहोदर नोड (जो एक तत्व नोड होना चाहिए) नहीं मिल जाता है। इस तरह, परिणाम सभी ब्राउज़रों में सही होगा।
युक्ति: ब्राउज़रों के बीच अंतर के बारे में अधिक पढ़ने के लिए, हमारे XML DOM ट्यूटोरियल में हमारे DOM ब्राउज़र्स अध्याय पर जाएँ।
ट्राई-इट-योरसेल्फ डेमो
नोड वस्तु