دراين بخش در مورد اضافه يا حذف عناصرHTML DOM ويا نودها بحث ميشود
براي افزودن يك عنصر جديد بهHTML DOM ابتدا بايد گره عنصر را ايجاد كرد، وسپس آنرا به يك عنصر موجود اضافه. نمود.
مثال ـ ايجاد عنصر جديد
div id="div1"> <p id="p1">This is a paragraph.</p> <p id="p2">This is another paragraph.</p> </div> <script> const para = document.createElement("p"); const node = document.createTextNode("This is new."); para.appendChild(node); const element = document.getElementById("div1"); element.appendChild(para); </script >
تشــريح مثال
در اين كد يك عنصر جديد<p> ايجاد ميشود .
const para = document.createElement("p");
بايد باين عنصر متن اضافه گردد .براي اين كار بايد نود متن(text node) ايجاد شود.
const node = document.createTextNode("This is a new paragraph.");
سپس بايد گره يا نود متن را به عنصر<p> اضافه كرد .
para.appendChild(node);
در نهايت بايد عنصر جديد به بيك عنصر موجود اضافه گردد.
كد زير يك عنصر موجود را پيدا مي نمايد.
const element = document.getElementById("div1");
كد رير عنصر<p> را بعنصر مورد نظر اضافه مي نمايد .
element.appendChild(para);
متدappendChild( ) در مثال قبلي عنصر جديد را بعنوان آخرين اولاد اضافه ميكند .اگر اينطور نمي خواهيد از متدinsertBefore( ) استفاده نمائيد.
<>مثال ـ متدinsertBefore( )
<div id="div1"> <p id="p1">This is a paragraph.</p> <p id="p2">This is another paragraph.</p> </div> <script> const para = document.createElement("p"); const node = document.createTextNode("This is new."); para.appendChild(node); const element = document.getElementById("div1"); const child = document.getElementById("p1"); element.insertBefore(para, child); </script >
براي حذف عنصرHTML از متدremove( ) استفاده كنيد .
مثال ـ حذف عنصرHTML
<div> <p id="p1">This is a paragraph.</p> <p id="p2">This is another paragraph.</p> </div> <script> const elmnt = document.getElementById("p1"); elmnt.remove(); </script >
تشــريح مثال
سندHTML داراي يك عنصر <div> كه داراي دوفرزند ازنوع عنصر <p> ميباشد.
<div id="div1"> <p id="p1">This is a paragraph.</p> <p id="p2">This is another paragraph.</p> </div>
اول آن عنصريكه بايد حذف شود، پيدا ميكنيم.
const elmnt = document.getElementById("p1");
elmnt.remove();
متدremove( ) در مرورگرهاي قديمي كار نميكند، به مثال زير در مورد نحوه استفاده ازremoveChild( ) بجاي آن توجه نمائيد .
براي مرورگرهائي كه متدremove( ) را پشتيباني نميكنند ، بايد گره والد را براي حذف يك عنصر پيداكنيد:
مثال ـ حذف عنصر ارطريق عنصر والدش
<div id="div1"> <p id="p1">This is a paragraph.</p> <p id="p2">This is another paragraph.</p> </div> <script> const parent = document.getElementById("div1"); const child = document.getElementById("p1"); parent.removeChild(child); </script >
تشــريح مثال
اين سندHTML داراي يك عنصر<div> با دو عنصر اولاد<p> است :
<div id="div1"> <p id="p1">This is a paragraph.</p> <p id="p2">This is another paragraph.</p> </div>
پيدا كردن عنصر با شناسهid="div1"
const parent = document.getElementById("div1");
پيدا كردن عنصر<p> با شناسه id="p1"
const child = document.getElementById("p1");
حذف عنصر اولاد از والد:
parent.removeChild(child);
در اينجا يك راه حل رايج وجود دارد، فرزندي را كه ميخواهيد حذف كنيد پيدا كرده واز ويژگي parentNodeبراي پيدا كردن والد استفاده كنيد :
const child = document.getElementById("p1");
child.parentNode.removeChild(child);
براي جايگزيني عناصر درHTML DOM از متد repaceChild( ) استفاده ميكنيم.
مثال ـ جايگزيني عناصر
<div id="div1"> <p id="p1">This is a paragraph.</p> <p id="p2">This is another paragraph.</p> </div> <script> const para = document.createElement("p"); const node = document.createTextNode("This is new."); para.appendChild(node); const parent = document.getElementById("div1"); const child = document.getElementById("p1"); parent.replaceChild(para, child); </script >