XML DOM firstChild প্রতিভা
সংজ্ঞা ও ব্যবহার
firstChild
এটি নির্দিষ্ট নোডের প্রথম সাব-নোড নোডকে ফিরায় দেয়。
সিন্তাক্স
nodeObject.firstChild
মন্তব্য:ফাইরফক্স এবং অধিকাংশ অন্যান্য ব্রাউজার খালি স্পেস বা নিউলাইনকে টেক্সট নোড হিসাবে দেখে, কিন্তু ইন্টারনেট এক্সপ্লোরার না। তাই, নিচের উদাহরণে, আমরা একটি ফাংশন ব্যবহার করি যাতে প্রথম সাব-নোডের নোড টাইপ পরীক্ষা করা যায়。
এলিমেন্ট নোডের nodeType 1 হয়, তাই প্রথম সন্তান নোডটি এলিমেন্ট নোড না হলে, পরবর্তী নোডকে অনুসরণ করে এবং সেই নোডটি এলিমেন্ট নোড কি হয়েছে না পরীক্ষা করো। এটা পর্যন্ত চলবে যখন প্রথম সন্তান (যা অবশ্যই এলিমেন্ট নোড হবে) পাওয়া যাবে। এইভাবে, ফলাফল সকল ব্রাউজারে সঠিকভাবে কাজ করবে।
সুঝাওয়া:ব্রাউজারের মধ্যে পার্থক্য সম্পর্কে আরও বেশি তথ্য জানতে XML DOM টিউটোরিয়ালের DOM ব্রাউজার চ্যাপট দেখুন。
ইনস্ট্যান্স
উদাহরণ 1
নিচের কোড "books.xml"-কে xmlDoc-তে লোড করে প্রথম সন্তান নোডের নোড নাম দেখাবে:
var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { myFunction(this); } }; xhttp.open("GET", "books.xml", true); xhttp.send(); // প্রথম নোডটি এলিমেন্ট নোড কি হয়েছে না পরীক্ষা করো function get_firstchild(n) { var x = n.firstChild; while (x.nodeType != 1) { x = x.nextSibling; } return x; } function myFunction(xml) { var xmlDoc = xml.responseXML; var x = get_firstchild(xmlDoc); document.getElementById("demo").innerHTML = "Nodename: " + x.nodeName +" " (nodetype: " + x.nodeType + ")<br>"; }
উদাহরণ 2
ডকুমেন্টের শেষ সন্তান পাওয়া:
var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { myFunction(this); } }; xhttp.open("GET", "books.xml", true); xhttp.send(); // শেষ নোডটি এলিমেন্ট নোড কি হয়েছে না পরীক্ষা করো function get_lastchild(n) { var x = n.lastChild; while (x.nodeType != 1) { x = x.previousSibling; } return x; } function myFunction(xml) { var xmlDoc = xml.responseXML; // ডকুমেন্টের শেষ সন্তান পাওয়া var x = get_lastchild(xmlDoc); // শুরুতের এলিমেন্টের শেষ সন্তান পাওয়া var y = get_lastchild(xmlDoc.documentElement); document.getElementById("demo").innerHTML = "Nodename: " + x.nodeName +" " (nodetype: " + x.nodeType + ")<br>" + "Nodename: " + y.nodeName + " (nodetype: " + y.nodeType + ")<br>"; }