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

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

واحدهای CSS مدرن: آموزش استفاده از vw، vh، vmin و vmax برای طراحی واکنش‌گرا
11م آبان 1403

واحدهای CSS مدرن: آموزش استفاده از vw، vh، vmin و vmax برای طراحی واکنش‌گرا

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

آموزش HTML: اولین گام برای طراحی سایت و سئو حرفه‌ای

مطالعه بیشتر
آموزش جامع حلقه‌های for و while در جاوا اسکریپت: نحوه استفاده و کاربردها
2م بهمن 1402

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

مطالعه بیشتر
مقدمه‌ای به رویدادها و دستورات در Vue.js: نحوه مدیریت و استفاده از v-on
28م شهریور 1402

مقدمه‌ای به رویدادها و دستورات در Vue.js: نحوه مدیریت و استفاده از v-on

مطالعه بیشتر
آموزش اصول کار با WebSockets و ارتباطات بلادرنگ در وب: راهنمای کامل
5م آبان 1403

آموزش اصول کار با WebSockets و ارتباطات بلادرنگ در وب: راهنمای کامل

مطالعه بیشتر
اصول پایه React.js: آشنایی با کامپوننت‌ها، وضعیت و رندرینگ
28م شهریور 1402

اصول پایه React.js: آشنایی با کامپوننت‌ها، وضعیت و رندرینگ

مطالعه بیشتر
استفاده از clip-path در CSS برای برش‌های زیبا و جذاب: راهنمای کامل
16م آبان 1403

استفاده از clip-path در CSS برای برش‌های زیبا و جذاب: راهنمای کامل

مطالعه بیشتر
آموزش تگ‌های زمان و مکان در HTML: استفاده از time و location در صفحات وب
29م مرداد 1402

آموزش تگ‌های زمان و مکان در HTML: استفاده از time و location در صفحات وب

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

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

مطالعه بیشتر
استفاده از visibility و opacity در CSS برای مخفی‌سازی عناصر: راهنمای کامل و کاربردی
11م آبان 1403

استفاده از visibility و opacity در CSS برای مخفی‌سازی عناصر: راهنمای کامل و کاربردی

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

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

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

کنترل زمان‌بندی و اندازه‌گیری دقیق انیمیشن‌ها در CSS: آموزش جامع و اصول استاندارد

مطالعه بیشتر

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