JavaScript HTML DOM 元素(节点)
- Halaman Sebelumnya Navigasi DOM
- Halaman Berikutnya Koleksi DOM
Tambah dan hapus node (elemen HTML)
Buat elemen HTML baru (node)
Untuk menambahkan elemen baru ke HTML DOM, anda mesti membuat elemen ini dahulu (node elemen) dan lalu menambahkannya ke elemen yang sudah ada.
Contoh
<div id="div1"> <p id="p1">Ini adalah paragraf ini.</p> <p id="p2">Ini adalah paragraf lain.</p> </div> <script> var para = document.createElement("p"); var node = document.createTextNode("Ini adalah teks baru."); para.appendChild(node); var element = document.getElementById("div1"); element.appendChild(para); </script>
例子解释
这段代码创建了一个新的 <p>
元素:
var para = document.createElement("p");
如需向 <p>
元素添加文本,则必须首先创建文本节点。这段代码创建了一个文本节点:
var node = document.createTextNode("这是一个新段落。");
然后您需要向 <p>
元素追加这个文本节点:
para.appendChild(node);
最后您需要向已有元素追加这个新元素。
这段代码查找一个已有的元素:
var element = document.getElementById("div1");
这段代码向这个已有的元素追加新元素:
element.appendChild(para);
创建新 HTML 元素 - insertBefore()
前面例子中的 appendChild()
方法,追加新元素作为父的最后一个子。
除此之外您还可以使用 insertBefore()
Method:
Contoh
<div id="div1"> <p id="p1">Ini adalah paragraf ini.</p> <p id="p2">Ini adalah paragraf lain.</p> </div> <script> var para = document.createElement("p"); var node = document.createTextNode("Ini adalah teks baru."); para.appendChild(node); var element = document.getElementById("div1"); var child = document.getElementById("p1"); element.insertBefore(para, child); </script>
删除已有 HTML 元素
如需删除 HTML 元素,请使用 remove()
Method:
Contoh
<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 文档包含一个带有两个子节点(两个 <p>
元素)的 <div>
元素:
<div> <p id="p1">This is a paragraph.</p> <p id="p2">This is another paragraph.</p> </div>
找到需要删除的元素:
const elmnt = document.getElementById("p1");
然后对该元素执行 remove()
Method:
elmnt.remove();
注意:remove() 方法在旧浏览器中不起作用,请参阅下面的例子,了解如何改用 removeChild()
。
删除子节点
对于不支持 remove()
方法的浏览器,您必须找到父节点才能删除一个元素:
Contoh
<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 文档包含一个带有两个子节点(两个 <p>
元素)的 <div>
元素:
<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");
找到 id="p1"
的 <p>
元素:
const child = document.getElementById("p1");
从父元素中删除子:
parent.removeChild(child);
这是一个常见的解决方法:找到要删除的子节点,并使用其 parentNode
属性找到父节点:
const child = document.getElementById("p1"); child.parentNode.removeChild(child);
Ganti Element HTML
Untuk menggantikan elemen, gunakan replaceChild()
Method:
Contoh
<div id="div1"> <p id="p1">Ini adalah paragraf ini.</p> <p id="p2">Ini adalah paragraf lain.</p> </div> <script> var para = document.createElement("p"); var node = document.createTextNode("Ini adalah teks baru."); para.appendChild(node); var parent = document.getElementById("div1"); var child = document.getElementById("p1"); parent.replaceChild(para, child); </script>
- Halaman Sebelumnya Navigasi DOM
- Halaman Berikutnya Koleksi DOM