آموزش رایگان جاوا اسکریپت (JavaScript)

معرفی DOM و اصول آن در جاوا اسکریپت: راهنمای جامع برای مبتدیان

1م آبان 1403 محراب حسن زاده
معرفی DOM و اصول آن در جاوا اسکریپت: راهنمای جامع برای مبتدیان

Document Object Model (DOM) یک مفهوم کلیدی در توسعه وب است که به شما اجازه می‌دهد تا با استفاده از جاوااسکریپت به محتوای صفحات وب دسترسی پیدا کنید، آن‌ها را تغییر دهید و تعاملات پویا ایجاد کنید. در این مقاله به معرفی DOM، اصول آن و نحوه استفاده از آن در برنامه‌نویسی جاوااسکریپت پرداخته‌ایم. همچنین به نکاتی برای بهبود سئو بر اساس استانداردهای گوگل اشاره خواهیم کرد.


DOM چیست؟

DOM یک رابط (Interface) برنامه‌نویسی است که ساختار یک سند HTML یا XML را به صورت یک درخت سلسله مراتبی ارائه می‌دهد. در این مدل، هر عنصر، صفت (attribute) و محتوای سند به صورت گره‌های (nodes) مختلفی نمایش داده می‌شوند که می‌توان آن‌ها را تغییر داد یا به آن‌ها دسترسی پیدا کرد.


ویژگی‌های کلیدی DOM:

  • مستقل از پلتفرم: DOM مستقل از زبان‌های برنامه‌نویسی و پلتفرم‌ها است و با زبان‌های مختلفی مثل جاوااسکریپت کار می‌کند.

  • ساختار درختی: هر عنصر HTML یک گره (node) در درخت DOM است و این گره‌ها با یکدیگر ارتباط سلسله مراتبی دارند.

  • امکان تغییر پویا: با استفاده از DOM می‌توان محتویات صفحه را به صورت پویا تغییر داد، به طور مثال اضافه کردن عناصر جدید، تغییر محتوای عناصر موجود یا حذف آن‌ها.


ساختار DOM

ساختار DOM شبیه به یک درخت است که از یک گره ریشه (root node) به نام document شروع می‌شود و تمامی عناصر و محتویات یک صفحه HTML به صورت گره‌های مختلف در این درخت قرار می‌گیرند. هر گره می‌تواند شامل عناصر، صفات و یا متن باشد.

به‌طور مثال، ساختار HTML زیر:




< html >
  < head >
    < title >Sample Page< / title >
  < / head >
  < body >
    < h1 >Welcome to My Website< / h1 >
    < p >This is a simple paragraph.< / p >
  < / body >
< / html >


درخت DOM مربوط به این HTML به شکل زیر است:

  • document

    • html

      • head

        • title → "Sample Page"

      • body

        • h1 → "Welcome to My Website"

        • p → "This is a simple paragraph."


دسترسی به عناصر DOM با استفاده از جاوااسکریپت

برای دسترسی و تغییر محتوای DOM از جاوااسکریپت استفاده می‌شود. مرورگر به شما امکان می‌دهد تا با استفاده از متدهای مختلف، به گره‌های DOM دسترسی پیدا کرده و آن‌ها را تغییر دهید.


دسترسی به عناصر

برای دسترسی به عناصر DOM، می‌توانید از متدهای مختلفی مانند getElementById، getElementsByClassName و querySelector استفاده کنید.

مثال: دسترسی به یک عنصر با استفاده از getElementById



< h1 id="title">Hello World!< / h1 >
< script >
  let titleElement = document.getElementById('title');
  console.log(titleElement.textContent); // Output: Hello World!
< / script >


تغییر محتوای عناصر

پس از دسترسی به یک عنصر، می‌توانید محتوای آن را تغییر دهید. برای مثال، از textContent برای تغییر متن یک عنصر استفاده می‌کنیم.

مثال: تغییر محتوای یک عنصر



< h1 id="title" >Hello World!< / h1 >
< script >
  let titleElement = document.getElementById('title');
  titleElement.textContent = 'Welcome to My Website';
< / script >


اضافه کردن و حذف عناصر

برای اضافه کردن یا حذف عناصر در DOM، می‌توانید از متدهای createElement، appendChild و removeChild استفاده کنید.

مثال: اضافه کردن یک عنصر جدید به DOM



< ul id="list" >
  < li >Item 1< / li >
  < li >Item 2< / li >
< / ul >
< script >
  let listElement = document.getElementById('list');
  let newItem = document.createElement('li');
  newItem.textContent = 'Item 3';
  listElement.appendChild(newItem); // اضافه کردن Item 3 به لیست
< / script >


مثال: حذف یک عنصر از DOM



< ul id="list" >
  < li id="item1" >Item 1< / li >
  < li >Item 2< / li >
< / ul >
< script >
  let itemToRemove = document.getElementById('item1');
  itemToRemove.remove(); // حذف Item 1
< / script >


رویدادهای DOM

یکی از ویژگی‌های مهم DOM، امکان مدیریت رویدادها (events) است. با استفاده از رویدادها می‌توان تعاملات کاربر با صفحه (مثل کلیک کردن، حرکت ماوس، یا وارد کردن داده در فرم‌ها) را مدیریت کرد.

مثال: مدیریت رویداد کلیک



< button id="myButton" >Click Me< / button >
< script >
  let button = document.getElementById('myButton');
  button.addEventListener('click', function() {
      alert('Button was clicked!');
  });
< / script >


اصول بهینه‌سازی برای سئو و سرعت بارگذاری

  • استفاده بهینه از DOM: کاهش تعداد دستکاری‌های DOM و بهینه‌سازی درخواست‌های جاوااسکریپت، باعث بهبود زمان بارگذاری و عملکرد سایت می‌شود که یکی از فاکتورهای مهم برای سئو است.

  • Lazy Loading: با استفاده از تکنیک بارگذاری تنبل (Lazy Loading) می‌توانید فقط اجزای مورد نیاز را بارگذاری کرده و بقیه محتوا را هنگامی که کاربر به آن نیاز دارد، بارگذاری کنید.

  • استفاده از Content Delivery Network (CDN): اگر فایل‌های جاوااسکریپت یا CSS سنگین دارید، از CDN برای بارگذاری سریع‌تر استفاده کنید. این کار باعث بهبود رتبه سایت در موتورهای جستجو می‌شود.

  • اجتناب از بلوک کردن رندرینگ (Render-blocking): فایل‌های CSS و جاوااسکریپت که باعث بلوک شدن رندرینگ صفحات می‌شوند را به تعویق بیندازید یا در قسمت پایینی صفحه قرار دهید تا زمان بارگذاری بهبود یابد.

  • ساختار مناسب HTML و دسترسی‌پذیری: ساختار صحیح HTML و استفاده درست از تگ‌ها در کنار DOM باعث می‌شود موتورهای جستجو صفحه شما را بهتر درک کنند و تجربه کاربری نیز بهبود یابد.


نتیجه‌گیری

DOM یکی از اصول کلیدی در توسعه وب است که به شما امکان می‌دهد صفحات وب تعاملی و پویا بسازید. با استفاده از DOM و ابزارهای آن در جاوااسکریپت می‌توانید به راحتی به عناصر صفحه دسترسی پیدا کرده و آن‌ها را تغییر دهید. همچنین با رعایت نکات بهینه‌سازی سئو و بهبود سرعت بارگذاری، می‌توانید رتبه سایت خود را در موتورهای جستجو ارتقاء دهید.

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

پارامترها و بازگشت از توابع در جاوا اسکریپت: نحوه تعریف و مدیریت خروجی‌ها
2م بهمن 1402

پارامترها و بازگشت از توابع در جاوا اسکریپت: نحوه تعریف و مدیریت خروجی‌ها

مطالعه بیشتر
مفاهیم پیشرفته اشیاء در جاوا اسکریپت: مدیریت خصوصیات و متدها
4م مهر 1403

مفاهیم پیشرفته اشیاء در جاوا اسکریپت: مدیریت خصوصیات و متدها

مطالعه بیشتر
آموزش توسعه و مدیریت پروژه‌های بزرگ در جاوا اسکریپت: آشنایی با ابزارها و فریم‌ورک‌های کاربردی
4م آبان 1403

آموزش توسعه و مدیریت پروژه‌های بزرگ در جاوا اسکریپت: آشنایی با ابزارها و فریم‌ورک‌های کاربردی

مطالعه بیشتر
آموزش انیمیشن‌های پیشرفته با keyframes در CSS: طراحی حرکات پویا و چند مرحله‌ای
18م شهریور 1402

آموزش انیمیشن‌های پیشرفته با keyframes در CSS: طراحی حرکات پویا و چند مرحله‌ای

مطالعه بیشتر
آموزش کامل استفاده از float، clear، text و font در CSS برای طراحی وب: راهنمای جامع
6م شهریور 1402

آموزش کامل استفاده از float، clear، text و font در CSS برای طراحی وب: راهنمای جامع

مطالعه بیشتر
مقدمه‌ای به template و دیتابایندینگ در Vue.js: نحوه مدیریت داده‌ها و رندرینگ پویا
28م شهریور 1402

مقدمه‌ای به template و دیتابایندینگ در Vue.js: نحوه مدیریت داده‌ها و رندرینگ پویا

مطالعه بیشتر
آموزش CSS Blend Modes: ادغام رنگ‌ها و تصاویر برای طراحی وب جذاب
18م شهریور 1402

آموزش CSS Blend Modes: ادغام رنگ‌ها و تصاویر برای طراحی وب جذاب

مطالعه بیشتر
مدیریت ترتیب نمایش با z-index در CSS: آموزش کامل و کاربردی
11م آبان 1403

مدیریت ترتیب نمایش با z-index در CSS: آموزش کامل و کاربردی

مطالعه بیشتر
مدیریت رویدادها در جاوا اسکریپت: اضافه و حذف Event Listeners - آموزش جامع با مثال‌ها
2م آبان 1403

مدیریت رویدادها در جاوا اسکریپت: اضافه و حذف Event Listeners - آموزش جامع با مثال‌ها

مطالعه بیشتر
مفاهیم Promise و چگونگی استفاده از آن در جاوا اسکریپت: راهنمای کامل همراه با مثال‌ها
30م مهر 1403

مفاهیم Promise و چگونگی استفاده از آن در جاوا اسکریپت: راهنمای کامل همراه با مثال‌ها

مطالعه بیشتر
راهنمای کامل تگ‌های <img> و <a> در HTML: تصاویر و لینک‌ها
21م مرداد 1402

راهنمای کامل تگ‌های <img> و <a> در HTML: تصاویر و لینک‌ها

مطالعه بیشتر
آشنایی با انواع انتخاب‌گرها و تغییر پس‌زمینه با CSS: راهنمای جامع
4م شهریور 1402

آشنایی با انواع انتخاب‌گرها و تغییر پس‌زمینه با CSS: راهنمای جامع

مطالعه بیشتر

تمامی حقوق معتلق به ناشر سایت است و کپی از آن پیگرد قانونی دارد