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

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

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

معرفی 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 و ابزارهای آن در جاوااسکریپت می‌توانید به راحتی به عناصر صفحه دسترسی پیدا کرده و آن‌ها را تغییر دهید. همچنین با رعایت نکات بهینه‌سازی سئو و بهبود سرعت بارگذاری، می‌توانید رتبه سایت خود را در موتورهای جستجو ارتقاء دهید.

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

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

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

28م شهریور 1402

مطالعه بیشتر

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

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

2م آبان 1403

مطالعه بیشتر

توابع فلش (Arrow Functions) در جاوا اسکریپت: ساده‌سازی کد با استفاده از ES6

توابع فلش (Arrow Functions) در جاوا اسکریپت: ساده‌سازی کد با استفاده از ES6

2م شهریور 1403

مطالعه بیشتر

آموزش ایجاد تصویر و لینک در HTML: نحوه استفاده از تگ‌های img و a

آموزش ایجاد تصویر و لینک در HTML: نحوه استفاده از تگ‌های img و a

21م مرداد 1402

مطالعه بیشتر

آموزش mix-blend-mode و background-blend-mode در CSS: ترکیب رنگ‌ها و ایجاد افکت‌های جذاب

آموزش mix-blend-mode و background-blend-mode در CSS: ترکیب رنگ‌ها و ایجاد افکت‌های جذاب

12م آبان 1403

مطالعه بیشتر

مقدمه‌ای بر CSS و نحوه اضافه کردن آن به HTML: راهنمای ساده و کامل برای مبتدیان

مقدمه‌ای بر CSS و نحوه اضافه کردن آن به HTML: راهنمای ساده و کامل برای مبتدیان

4م شهریور 1402

مطالعه بیشتر

JSX و رندرینگ مؤثر در React.js: بهینه‌سازی کامپوننت‌ها و بهبود عملکرد

JSX و رندرینگ مؤثر در React.js: بهینه‌سازی کامپوننت‌ها و بهبود عملکرد

28م شهریور 1402

مطالعه بیشتر

آموزش ایجاد تگ‌های صفحه‌بندی در HTML و CSS: طراحی و استایل‌دهی pagination

آموزش ایجاد تگ‌های صفحه‌بندی در HTML و CSS: طراحی و استایل‌دهی pagination

29م مرداد 1402

مطالعه بیشتر

آموزش ایجاد، دسترسی و اصلاح آرایه‌ها در جاوا اسکریپت: راهنمای کامل

آموزش ایجاد، دسترسی و اصلاح آرایه‌ها در جاوا اسکریپت: راهنمای کامل

4م مهر 1403

مطالعه بیشتر

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

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

4م شهریور 1402

مطالعه بیشتر

نصب Vue.js و ایجاد پروژه ساده: آموزش گام‌به‌گام راه‌اندازی Vue

نصب Vue.js و ایجاد پروژه ساده: آموزش گام‌به‌گام راه‌اندازی Vue

28م شهریور 1402

مطالعه بیشتر

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

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

30م مهر 1403

مطالعه بیشتر

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