HTML DOM Elements (Nodes)
در DOM، هر عنصر HTML به عنوان یک Node شناخته میشود.
Node کوچکترین بخش از ساختار درختی DOM است که میتواند عنصر، متن، کامنت یا Document باشد.
🔹 1. انواع Nodeها
نوع Node | توضیح |
---|---|
Element | هر تگ HTML مثل <div> , <p> , <a> |
Text | متن داخل عناصر HTML |
Comment | کامنتها در HTML |
Document | کل سند HTML |
DocumentFragment | ساختار موقت برای تغییرات DOM |
Attribute | Attributeهای عناصر |
مثال:
🔹 2. ویژگیهای Node
-
nodeName
→ نام Node -
nodeType
→ نوع Node (عدد) -
nodeValue
→ مقدار Node (برای Text یا Comment)
🔹 3. دسترسی به والد و فرزندان
-
parentNode
→ والد -
childNodes
→ تمام فرزندان (شامل Text و Comment) -
firstChild
/lastChild
→ اولین و آخرین Node -
children
→ فقط فرزندان Element
🔹 4. پیمایش برادران
-
previousSibling
/nextSibling
→ برادران شامل Text و Comment -
previousElementSibling
/nextElementSibling
→ برادران Element
🔹 5. ایجاد و تغییر Node
-
ایجاد Node جدید:
document.createElement()
,document.createTextNode()
-
اضافه کردن به DOM:
appendChild()
,insertBefore()
-
حذف Node:
remove()
-
جایگزینی Node:
replaceChild(newNode, oldNode)
🔹 6. تفاوت Node و Element
ویژگی | Node | Element |
---|---|---|
شامل | تمام Nodeها | فقط عناصر HTML |
دسترسی | childNodes | children |
شامل متن و کامنت | ✅ | ❌ |
✅ خلاصه
-
Node → کوچکترین واحد DOM: Element, Text, Comment, Document و غیره
-
ویژگیهای مهم:
nodeName
,nodeType
,nodeValue
-
پیمایش: والد (
parentNode
), فرزندان (childNodes
,children
), برادران (previousSibling
,nextSibling
) -
ایجاد و تغییر Node:
createElement
,createTextNode
,appendChild
,replaceChild
,remove
-
تفاوت Node و Element → Node شامل همه انواع، Element فقط تگهای HTML