XML DOM lastChild এস্ট্রাইক্ট
পরিভাষা এবং ব্যবহার
lastChild
এই অপারেটর চিহ্নিত এলিমেন্টের শেষ সাব-নোডকে ফিরিয়ে দেবে।
যদি চিহ্নিত নোডটি কোনো সাব-নোডকে না হয়, তবে এই অপারেটর কোনো জিনিস ফিরিয়ে দেবে না。
সংজ্ঞা
elementNode.lastChild
প্রত্যুত্তর:Firefox এবং অধিকাংশ অন্যান্য ব্রাউজার খালি বা ব্যান্ডলাইনকে টেক্সট নোড হিসাবে মনে করে, এবং Internet Explorer-এ এটা নয়। তাই, নিচের উদাহরণে, আমরা একটি ফাংশন ব্যবহার করি যাতে শেষ সাব-নোডকের নোড টাইপকে পরীক্ষা করা যায়。
এলিমেন্ট নোডের nodeType হল 1, তাই শেষ সাব-নোডটি এলিমেন্ট নোড না হলে, তা আগের নোডকে স্থানান্তরিত হবে এবং সেই নোডকে এলিমেন্ট নোড কি হবে তা পরীক্ষা করা হবে। এটা যথেষ্ট পর্যন্ত চলবে যখন শেষ সাব-নোডটি (যা অবশ্যই এলিমেন্ট নোড হবে) পাওয়া যাবে। এইভাবে, সব ব্রাউজারে ফলাফল সঠিক থাকবে。
টিপস:ব্রাউজারগুলির মধ্যে পার্থক্য সম্পর্কে আরও বিস্তারিত তথ্য জানাতে XML DOM শিক্ষাক্রমের DOM ব্রাউজার চপ্তির সমূহ পরিদর্শন করুন。
প্রতিমান
নিচের কোড "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 x, i, txt, firstNode, xmlDoc; xmlDoc = xml.responseXML; x = xmlDoc.documentElement; txt = ""; firstNode = get_lastchild(x); for (i = 0; i < firstNode.childNodes.length; i++) { if (firstNode.childNodes[i].nodeType == 1) { // এলিমেন্ট নোড ব্যবহার করা হবে txt += firstNode.childNodes[i].nodeName +"" " = " + firstNode.childNodes[i].childNodes[0].nodeValue + "<br>"; } } document.getElementById("demo").innerHTML = txt; }