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

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

2م آبان 1403 محراب حسن زاده
آموزش ایجاد و حذف المان‌های DOM به صورت داینامیک با جاوا اسکریپت: راهنمای جامع و کاربردی
ایجاد و حذف المان‌های DOM به صورت داینامیک یکی از امکانات مهم و کاربردی در توسعه صفحات وب پویا است. با استفاده از این ویژگی، می‌توانید به صورت بلادرنگ (real-time) المان‌های HTML را به صفحه اضافه یا از آن حذف کنید، به این ترتیب صفحات وب تعاملی و کاربرپسندتری بسازید. در این مقاله به آموزش ایجاد و حذف المان‌های DOM به صورت داینامیک با جاوااسکریپت می‌پردازیم و همچنین نکات بهینه‌سازی مرتبط با سئو را بر اساس استانداردهای گوگل مرور می‌کنیم.

DOM چیست؟

DOM (Document Object Model) نمایی درختی از محتوای HTML و XML است که به وسیله‌ی آن می‌توانید به المان‌های صفحه وب دسترسی پیدا کرده، آن‌ها را تغییر دهید، اضافه کنید یا حذف کنید. با استفاده از جاوااسکریپت، می‌توان به المان‌های DOM دسترسی پیدا کرد و آن‌ها را به صورت داینامیک مدیریت کرد.


ایجاد المان‌های DOM به صورت داینامیک

یکی از روش‌های قدرتمند جاوااسکریپت برای مدیریت محتوا در صفحات وب، ایجاد المان‌های HTML به صورت داینامیک است. این فرآیند معمولاً در برنامه‌های وب تعاملی، مانند اضافه کردن آیتم‌های جدید به لیست‌ها یا نمایش پیام‌های جدید به کاربران، استفاده می‌شود.


استفاده از createElement

برای ایجاد یک المان جدید در DOM، می‌توان از متد createElement استفاده کرد. این متد یک المان جدید بر اساس نام تگ HTML که به آن داده می‌شود، ایجاد می‌کند.

مثال:



< div id="container" > < / div >

< script >
  // ایجاد یک المان جدید < p >
  let newParagraph = document.createElement('p');
  newParagraph.textContent = 'This is a dynamically added paragraph.';

  // اضافه کردن المان جدید به داخل یک المان موجود
  let container = document.getElementById('container');
  container.appendChild(newParagraph);
< / script >


در این مثال، ابتدا یک عنصر < p > ایجاد می‌شود و سپس به یک بخش موجود با شناسه container اضافه می‌شود. این فرآیند بدون نیاز به بارگذاری مجدد صفحه انجام می‌شود.


اضافه کردن چندین المان

اگر بخواهید چندین المان به صورت داینامیک به صفحه اضافه کنید، می‌توانید با استفاده از یک حلقه یا تکرارگر این کار را انجام دهید.

مثال:



< ul id="list" > < / ul >

< script >
  let ulElement = document.getElementById('list');

  for (let i = 1; i <= 5; i++) {
      let liElement = document.createElement('li');
      liElement.textContent = `Item ${i}`;
      ulElement.appendChild(liElement);
  }
< / script >


در این مثال، پنج عنصر < li > به صورت داینامیک به یک لیست < ul > اضافه می‌شود.


اضافه کردن المان‌ها با ویژگی‌های خاص

شما می‌توانید هنگام ایجاد یک المان جدید، ویژگی‌هایی مانند کلاس‌ها، شناسه‌ها، و داده‌های دلخواه به آن اضافه کنید.



< button id="addButton" > Add Item < / button >
< ul id="list" > < / ul >

< script >
  let addButton = document.getElementById('addButton');
  addButton.addEventListener('click', function() {
      let newItem = document.createElement('li');
      newItem.textContent = 'New Item';
      newItem.setAttribute('class', 'list-item');

      document.getElementById('list').appendChild(newItem);
  });
< / script >


در این مثال، با هر بار کلیک روی دکمه "Add Item"، یک آیتم جدید به لیست اضافه می‌شود و کلاس list-item به آن تخصیص می‌یابد.


حذف المان‌های DOM به صورت داینامیک

برای حذف المان‌های DOM، می‌توان از متدهای removeChild یا remove استفاده کرد. این متدها به شما امکان می‌دهند المان‌های موجود را از صفحه حذف کنید.


حذف المان با استفاده از removeChild

متد removeChild برای حذف یک فرزند از المان والد استفاده می‌شود.

مثال:



< ul id="list" >
  < li id="item1" > Item 1 < / li >
  < li id="item2" > Item 2 < / li >
< / ul >
< button id="removeButton" > Remove Item < / button >

< script >
  let removeButton = document.getElementById('removeButton');
  removeButton.addEventListener('click', function() {
      let list = document.getElementById('list');
      let itemToRemove = document.getElementById('item1');
      list.removeChild(itemToRemove);
  });
< / script >


در این مثال، با کلیک روی دکمه، اولین آیتم لیست (Item 1) از لیست حذف می‌شود.


حذف مستقیم المان با remove

متد remove به طور مستقیم المان هدف را از DOM حذف می‌کند.

مثال:



< div id="container" >
  < p id="paragraph" > This is a paragraph. < / p >
< / div >
< button id="removeButton" > Remove Paragraph < / button >

< script >
  let removeButton = document.getElementById('removeButton');
  removeButton.addEventListener('click', function() {
      let paragraph = document.getElementById('paragraph');
      paragraph.remove();
  });
< / script >


در این مثال، پاراگراف با شناسه paragraph به طور مستقیم حذف می‌شود.


بهینه‌سازی و نکات سئو

برای بهبود عملکرد سایت و رعایت اصول سئو هنگام دستکاری المان‌های DOM، نکات زیر را در نظر داشته باشید:

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

  • استفاده از Fragmentها: زمانی که می‌خواهید چندین المان به یکباره به DOM اضافه کنید، از DocumentFragment استفاده کنید تا تغییرات یکجا اعمال شوند.

مثال استفاده از DocumentFragment:



let fragment = document.createDocumentFragment();
for (let i = 1; i <= 5; i++) {
  let li = document.createElement('li');
  li.textContent = `Item ${i}`;
  fragment.appendChild(li);
}
document.getElementById('list').appendChild(fragment);


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

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

  • استفاده از کلاس‌ها به جای تغییر مستقیم استایل‌ها: در هنگام ایجاد المان‌های داینامیک، به جای استفاده از style برای هر المان، کلاس‌های CSS از پیش تعریف‌شده استفاده کنید. این کار کد را تمیزتر و مدیریت آن را ساده‌تر می‌کند.


نتیجه‌گیری

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

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

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

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

مطالعه بیشتر
آموزش متغیرهای سفارشی (Custom Properties) در CSS: نحوه تعریف و استفاده از var
18م شهریور 1402

آموزش متغیرهای سفارشی (Custom Properties) در CSS: نحوه تعریف و استفاده از var

مطالعه بیشتر
آموزش اصول Web APIs و نحوه استفاده از آن‌ها در جاوا اسکریپت: راهنمای کامل با مثال‌ها
1م آبان 1403

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

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

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

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

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

مطالعه بیشتر
کار با تصاویر SVG در CSS: کنترل استایل و استفاده از گرافیک‌های مقیاس‌پذیر
16م آبان 1403

کار با تصاویر SVG در CSS: کنترل استایل و استفاده از گرافیک‌های مقیاس‌پذیر

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

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

مطالعه بیشتر
معرفی Vue.js و ویژگی‌های کلیدی آن: فریمورک مدرن برای توسعه وب تعاملی
28م شهریور 1402

معرفی Vue.js و ویژگی‌های کلیدی آن: فریمورک مدرن برای توسعه وب تعاملی

مطالعه بیشتر
راهنمای کامل لیست‌ها در HTML: آموزش انواع و اصول سئو
20م مرداد 1402

راهنمای کامل لیست‌ها در HTML: آموزش انواع و اصول سئو

مطالعه بیشتر
آموزش ایجاد Transitions و انیمیشن‌های صفحه بارگذاری (Loader) در CSS: طراحی لودرهای جذاب
16م آبان 1403

آموزش ایجاد Transitions و انیمیشن‌های صفحه بارگذاری (Loader) در CSS: طراحی لودرهای جذاب

مطالعه بیشتر
آموزش کامل ساخت فرم در HTML: از المان‌ها تا نکات سئو
21م مرداد 1402

آموزش کامل ساخت فرم در HTML: از المان‌ها تا نکات سئو

مطالعه بیشتر
راهنمای کامل تگ‌های متنی HTML و اصول سئو برای محتوا
18م مرداد 1402

راهنمای کامل تگ‌های متنی HTML و اصول سئو برای محتوا

مطالعه بیشتر

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