HTML DOM Collections
در DOM، هنگام انتخاب چندین عنصر، مرورگر آنها را به صورت Collection برمیگرداند.
این مجموعهها به دو نوع اصلی تقسیم میشوند: HTMLCollection و NodeList.
🔹 1. HTMLCollection
- 
مجموعهای از عناصر HTML 
- 
معمولا توسط روشهای زیر برگردانده میشود: - 
getElementsByTagName()
- 
getElementsByClassName()
- 
forms,images,links
 
- 
- 
ویژگیها: - 
زنده (Live) → تغییرات DOM را به صورت خودکار نشان میدهد 
- 
آرایه واقعی نیست → باید با index دسترسی پیدا کرد یا تبدیل به آرایه کرد 
 
- 
🔹 2. NodeList
- 
مجموعهای از Nodeها (Element, Text, Comment) 
- 
معمولا توسط روشهای زیر برگردانده میشود: - 
querySelectorAll()
- 
childNodes
 
- 
- 
ویژگیها: - 
NodeList برگشتی از querySelectorAll()غیر زنده (Static) است
- 
NodeList برگشتی از childNodesزنده است
- 
میتوان از forEachروی NodeList استفاده کرد
 
- 
🔹 3. تبدیل Collection به آرایه
- 
برای استفاده از متدهای آرایه میتوان HTMLCollection یا NodeList را تبدیل کرد 
- 
یا با اسپرد: 
🔹 4. تفاوت HTMLCollection و NodeList
| ویژگی | HTMLCollection | NodeList | 
|---|---|---|
| نوع عناصر | فقط Element | همه Nodeها (Element, Text, Comment) | 
| زنده بودن (Live) | ✅ زنده | ❌ غیر زنده ( querySelectorAll) / ✅ زنده (childNodes) | 
| متد foreach | ❌ ندارد | ✅ دارد | 
| ایجاد با | getElementsByTagName,getElementsByClassName | querySelectorAll,childNodes | 
✅ خلاصه
- 
Collections → مجموعهای از عناصر یا Nodeها در DOM 
- 
HTMLCollection → فقط عناصر HTML، زنده، با index دسترسی 
- 
NodeList → Nodeها (Element, Text, Comment)، گاهی زنده، میتوان forEachاستفاده کرد
- 
تبدیل به آرایه → Array.from()یا اسپرد[...collection]
- 
انتخاب Collection: getElementsByTagName,getElementsByClassName,querySelectorAll,childNodes
 CSS3
          CSS3
        
                
           HTML
          HTML
        
                
           Tailwind Css
          Tailwind Css
        
                
           Bootstrap 5
          Bootstrap 5
        
                
           Java script
          Java script
        
                
           ++C
          ++C
        
                
           Python
          Python
        
                
           Three.js
          Three.js
        
                
           Gsap
          Gsap
        
                
           Sass
          Sass
        
                
           SQL
          SQL
        
                
           React
          React