একজন nodeকরে DOM অনুক্রমের বস্তুর কোনো ধরনের জন্য জেনেরিক নাম। একজন nodeএক হতে পারে বিল্ট-ইন যেমন DOM উপাদানে documentবা document.body, এটা যেমন যেমন একটি HTML ট্যাগ HTML এ নিদিষ্ট হতে পারে <input>বা <p>বা এটি একটি টেক্সট নোড যে অন্য উপাদান ভিতরে লেখার একটা ব্লক রাখা সিস্টেম দ্বারা তৈরি করা হয় হতে পারে । সুতরাং, সংক্ষেপে, একটি nodeহল কোনও ডিওএম অবজেক্ট।
এ elementহ'ল একটি নির্দিষ্ট প্রকারের nodeনোডের অন্যান্য ধরণের (টেক্সট নোডস, কমেন্ট নোডস, ডকুমেন্ট নোডস ইত্যাদি) রয়েছে।
ডিওমে নোডের একটি শ্রেণিবিন্যাস থাকে যেখানে প্রতিটি নোডের পিতামাতারা থাকতে পারে, চাইল্ড নোডগুলির একটি তালিকা এবং একটি নেক্সটসিলিং এবং পূর্ববর্তী শিবলিং থাকতে পারে। সেই কাঠামোটি গাছের মতো শ্রেণিবিন্যাস গঠন করে। documentনোড শিশু নোড (তালিকায় থাকবে headনোড এবং bodyনোড)। bodyনোড শিশু নোড (আপনার HTML পাতায় মধ্যে শীর্ষ স্তরের উপাদান) এবং তাই তালিকায় হবে।
সুতরাং, একটি nodeListকেবল একটি অ্যারের মতো তালিকা nodes।
একটি উপাদান হ'ল একটি নির্দিষ্ট ধরণের নোড, যা কোনও এইচটিএমএল ট্যাগের সাথে সরাসরি এইচটিএমএলে নির্দিষ্ট করা যায় এবং এতে একটি idবা এ এর মতো বৈশিষ্ট্য থাকতে পারে class। বাচ্চা ইত্যাদি থাকতে পারে ... অন্যান্য ধরণের নোড যেমন কমেন্ট নোড, পাঠ্য নোড ইত্যাদি রয়েছে ... বিভিন্ন বৈশিষ্ট্যযুক্ত। প্রতিটি নোডের একটি সম্পত্তি থাকে .nodeTypeযা এটি কোন ধরণের নোডের প্রতিবেদন করে। আপনি এখানে বিভিন্ন ধরণের নোড দেখতে পাচ্ছেন ( এমডিএন থেকে চিত্র ):

আপনি দেখতে পাচ্ছেন যে ELEMENT_NODEএটি একটি বিশেষ ধরণের নোড যেখানে nodeTypeসম্পত্তিটির মান রয়েছে 1।
সুতরাং document.getElementById("test")কেবলমাত্র একটি নোড ফিরে আসতে পারে এবং এটি একটি উপাদান (একটি নির্দিষ্ট ধরণের নোড) হওয়ার গ্যারান্টিযুক্ত। যে কারণে এটি কেবল তালিকার চেয়ে উপাদানটি ফেরত দেয়।
যেহেতু document.getElementsByClassName("para")একাধিক বস্তু ফেরত আসতে পারে, তাই ডিজাইনাররা একটি ফেরত দেওয়া বেছে নিল nodeListকারণ এটি একাধিক নোডের তালিকার জন্য তৈরি করা ডেটা টাইপ। যেহেতু এগুলি কেবলমাত্র উপাদান হতে পারে (কেবলমাত্র উপাদানগুলিতে সাধারণত একটি শ্রেণীর নাম থাকে), এটি প্রযুক্তিগতভাবে এমন একটি nodeListযা কেবলমাত্র টাইপ উপাদানগুলির নোড থাকে এবং ডিজাইনাররা একটি আলাদাভাবে নাম সংগ্রহ করতে পারে যা একটি ছিল elementList, তবে তারা কেবল একটি প্রকার ব্যবহার করতে বেছে নিয়েছিল সংগ্রহের এটির মধ্যে কেবলমাত্র উপাদান ছিল কিনা তা।
সম্পাদনা: এইচটিএমএল 5 এমন একটি সংজ্ঞা দেয় HTMLCollectionযা এইচটিএমএল উপাদানগুলির একটি তালিকা (কোনও নোড নয়, কেবলমাত্র উপাদানসমূহ)। এইচটিএমএল 5 এর বেশ কয়েকটি বৈশিষ্ট্য বা পদ্ধতি এখন একটি ফেরত দেয় HTMLCollection। এটি একটি এর সাথে ইন্টারফেসের মতো একইরকম nodeList, এখন একটি পার্থক্য তৈরি হয়েছে যে এটিতে কেবলমাত্র উপাদান রয়েছে, কোনও ধরণের নোড নয়।
আপনি কীভাবে এটি ব্যবহার করেন (যতদূর আমি বলতে পারি) এর মধ্যে nodeListএবং এর মধ্যে পার্থক্যটির HTMLCollectionখুব কম প্রভাব পড়ে, তবে এইচটিএমএল 5 এর ডিজাইনাররা এখন সেই পার্থক্য তৈরি করেছে।
উদাহরণস্বরূপ, element.childrenসম্পত্তিটি একটি লাইভ এইচটিএমএল সংগ্রহ সংগ্রহ করে।