DOM عبارتی است که بیشتر آن را در زبان جاوا اسکریپت میشنویم. در این مقاله میخواهم به طور مختصر و مفید به این مفهوم بپردازم.
آشنایی با DOM
برای درک بهتر با یک مثال شروع میکنیم، فرض کنید در یک صفحه وب میخواهیم در حین اجرای صفحه در عناصر HTML تغییراتی ایجاد کنیم. مثلا یک تگ (عنصر) را حذف کنیم و یا خصوصیات (Attribute) آنرا تغییر دهیم.
همچنین در بسیاری از مواقع برای تعامل با کاربر به DOM نیاز داریم. برای مثال میخواهیم وقتی روی یک دکمه کلیک شد عنصر خاصی را به صفحه اضافه کنیم و یا پیامی را نمایش دهیم.
خب برای همهی اینکارها به دستکاری کدهای HTML نیاز داریم. یا به عبارتی دیگر به DOM نیاز داریم. حال که متوجه کاربردهای آن شدید میتوانیم درمورد خود DOM و مفهوم آن صحبت کنیم.
DOM چیست؟
DOM یک مدل و ساختار درختی از تمام عناصر HTML درون یک صفحه وب است. که در آن عناصر HTML به عنوان اشیاء در نظر گرفته میشوند.
عناصر HTML همان تگهای HTML هستند.
DOM یک API (رابط برنامه نویسی) برای جاوا اسکریپت است که به برنامه نویس این اجازه را میدهد تا:
- تگهای (عناصر) HTML را حذف، اضافه یا تغییر دهد.
- خصیصههای attribute) HTML) را حذف، اضافه یا تغییر دهد.
- استایلهای CSS را حذف، اضافه یا تغییر دهد.
- به رویدادهای Event) HTML) واکنش نشان دهد.
- رویدادهای HTML را حذف، اضافه یا تغییر دهد.
برای جا افتادن این موضوع فرض کنید یک صفحه وب که حاوی کدهای HTML زیر است، داریم:
۱
۲
۳
۴
۵
۶
۷
۸
۹
|
<html>
<head>
<title> My title </title>
</head>
<body>
<h1> My header </h1>
<a href=“https://AdmineSite.com”> My link </a>
</body>
</html>
|
وقتی صفحه وب بارگیری شد، مرورگر یک DOM: Document Object Model از صفحه میسازد. که در واقع این مدل یک درخت اشیاء (عناصر HTML درون صفحه) است. برای درک راحت تر این موضوع به شکل زیر توجه کنید:
همانطور در تصویر بالا دیده میشود تمام خصیصهها ( attribute ) و عناصر درون یک تگ، به عنوان فرزندان آن تگ شناخته میشوند. همچنین تمام اشیاء ، زیر مجموعه شئ Document هستند.
این ساختار درختی در اختیار برنامهنویس جاوا اسکریپت است تا بتواند هر تغییری در این ساختار ایجاد کند! به همین راحتی.
اگر علاقهمند به موضوع DOM شدید باید به سراغ یادگیری زبان جاوا اسکریپت بروید