insertBefore মেথড
insertBefore মেথডটি একটি এলিমেন্টকে অন্য এলিমেন্টের আগে ইনসার্ট করতে দেয়। এটি প্রায়শই
createElement এর সাহায্যে একটি এলিমেন্ট তৈরি করার পরে
ব্যবহার করা হয়। যে এলিমেন্টের আগে ইনসার্ট করা হবে তার প্যারেন্টের উপর এই মেথডটি প্রয়োগ করা হয়।
সিনট্যাক্স
প্যারেন্ট.insertBefore(এলিমেন্ট, কার আগে ইনসার্ট করতে হবে);
উদাহরণ
একটি প্যারাগ্রাফ তৈরি করি এবং এটিকে দ্বিতীয় প্যারাগ্রাফের আগে রাখি:
<div id="parent">
<p>elem 1</p>
<p id="before">elem 2</p>
<p>elem 3</p>
</div>
let parent = document.querySelector('#parent');
let before = document.querySelector('#before');
let p = document.createElement('p');
p.textContent = '!';
parent.insertBefore(p, before);
কোড এক্সিকিউট করার ফলাফল:
<div id="parent">
<p>elem 1</p>
<p>!</p>
<p>elem 2</p>
<p>elem 3</p>
</div>
উদাহরণ
#parent এলিমেন্টের শুরুতে একটি প্যারাগ্রাফ যোগ করি।
এর জন্য আমাদের প্যারাগ্রাফটিকে #parent এর প্রথম
চাইল্ডের আগে ইনসার্ট করব। এই চাইল্ডটি
firstElementChild এর সাহায্যে খুঁজে পাওয়া যায়:
<div id="parent">
<p>elem 1</p>
<p>elem 2</p>
</div>
let parent = document.querySelector('#parent');
let p = document.createElement('p');
p.textContent = '!';
parent.insertBefore(p, parent.firstElementChild);
কোড এক্সিকিউট করার ফলাফল:
<div id="parent">
<p>!</p>
<p>elem 1</p>
<p>elem 2</p>
</div>
উদাহরণ
দ্বিতীয় প্যারামিটার হিসেবে null পাঠালে
insertBefore মেথডটি appendChild এর মতো কাজ করে।
আবার, যদি এলিমেন্টের কোনো চাইল্ড এলিমেন্ট না থাকে,
তবে firstElementChild
null রিটার্ন করে। ফলস্বরূপ, এলিমেন্টের শুরুতে যোগ করা
যায় এমনকি যখন এর কোনো চাইল্ড এলিমেন্ট নেই:
<div id="parent"></div>
let parent = document.querySelector('#parent');
let p = document.createElement('p');
p.textContent = '!';
parent.insertBefore(p, parent.firstChild);
কোড এক্সিকিউট করার ফলাফল:
<div id="parent">
<p>!</p>
</div>
আরও দেখুন
-
prependমেথড,
যা এলিমেন্ট শুরুতে ইনসার্ট করে -
appendChildমেথড,
যা এলিমেন্ট প্যারেন্টের শেষে ইনসার্ট করে -
insertAdjacentElementমেথড,
যা এলিমেন্ট নির্দিষ্ট জায়গায় ইনসার্ট করে -
insertAdjacentHTMLমেথড,
যা ট্যাগগুলো নির্দিষ্ট জায়গায় ইনসার্ট করে