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

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

راهنمای جامع معرفی PHP؛ تاریخچه، ویژگی‌ها و جایگاه آن در توسعه وب
14م خرداد 1405

راهنمای جامع معرفی PHP؛ تاریخچه، ویژگی‌ها و جایگاه آن در توسعه وب

مطالعه بیشتر
آشنایی با Inheritance در CSS: اصول وراثت و مدیریت استایل‌ها
12م آبان 1403

آشنایی با Inheritance در CSS: اصول وراثت و مدیریت استایل‌ها

مطالعه بیشتر
آموزش کامل کنترل جریان و استفاده از if و else در جاوا اسکریپت: راهنمای جامع برای مبتدیان
2م بهمن 1402

آموزش کامل کنترل جریان و استفاده از if و else در جاوا اسکریپت: راهنمای جامع برای مبتدیان

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

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

مطالعه بیشتر
آموزش تگ‌های پیوندی و اتصالی در HTML: ایجاد لینک‌های داخلی و خارجی
29م مرداد 1402

آموزش تگ‌های پیوندی و اتصالی در HTML: ایجاد لینک‌های داخلی و خارجی

مطالعه بیشتر
آموزش کامل توابع سازنده (Constructors) و پروتوتایپ‌ها (Prototypes) در جاوا اسکریپت: راهنمای جامع
28م مهر 1403

آموزش کامل توابع سازنده (Constructors) و پروتوتایپ‌ها (Prototypes) در جاوا اسکریپت: راهنمای جامع

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

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

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

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

مطالعه بیشتر
آموزش ساخت اولین فایل PHP و بررسی ساختار تگ‌ها بر اساس استاندارد وب
15م خرداد 1405

آموزش ساخت اولین فایل PHP و بررسی ساختار تگ‌ها بر اساس استاندارد وب

مطالعه بیشتر
آموزش استفاده از ماژول‌ها (Modules) در جاوا اسکریپت: آشنایی با ES6 Modules - راهنمای کامل
5م آبان 1403

آموزش استفاده از ماژول‌ها (Modules) در جاوا اسکریپت: آشنایی با ES6 Modules - راهنمای کامل

مطالعه بیشتر
آموزش استفاده از object-fit و object-position در CSS: تنظیم و قرارگیری تصاویر به‌صورت دقیق
12م آبان 1403

آموزش استفاده از object-fit و object-position در CSS: تنظیم و قرارگیری تصاویر به‌صورت دقیق

مطالعه بیشتر
آموزش کامل ثابت‌ها در PHP: تفاوت عمیق define و const طبق استانداردهای گوگل
24م خرداد 1405

آموزش کامل ثابت‌ها در PHP: تفاوت عمیق define و const طبق استانداردهای گوگل

مطالعه بیشتر

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