XML DOM lastChild প্রতিযোগিতা
সংজ্ঞা ও ব্যবহার
lastChild
এটি নির্দিষ্ট নোডের শেষ সাব-নোড নোডকে ফিরিয়ে দেয়।
সিন্তাক্স
nodeObject.lastChild
মন্তব্য:ফাইরফক্স এবং অধিকাংশ অন্যান্য ব্রাউজার খালি স্পেস বা নিউলাইনকে টেক্সট নোড হিসাবে দেখে, কিন্তু ইন্টারনেট এক্সপ্লোরার না। তাই, নিচের উদাহরণে, আমরা একটি ফাংশন ব্যবহার করি যাতে শেষ সাব-নোডের নোড টাইপ পরীক্ষা করা যায়。
এলিমেন্ট নোডের 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_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); 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_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); // প্রথম সাব-নোডের পাওয়া হয় var y = get_firstchild(xmlDoc.documentElement); document.getElementById("demo").innerHTML = "Nodename: " + x.nodeName +" " (nodetype: " + x.nodeType + ")<br>" + "Nodename: " + y.nodeName + " (nodetype: " + y.nodeType + ")<br>"; }