เมธอด insertBefore() ใช้แทรกโหนดใหม่ (newNode) เข้าไปก่อนโหนดลูก (child node) ที่มีอยู่แล้ว (existingNode)
ไวยากรณ์ (Syntax)
node.insertBefore(newNode, existingNode)
พารามิเตอร์
| พารามิเตอร์ | คำอธิบาย |
|---|---|
| newNode | โหนดลูกใหม่ที่สร้างขึ้นซึ่งจะถูกแทรกเข้าไป |
| existingNode | โหนดลูกที่มีอยู่แล้วซึ่ง newNode จะถูกแทรกก่อนหน้า |
ตัวอย่างการใช้งาน
ตัวอย่างด้านล่างเพิ่มขั้นตอน "Boil Water" ไปไว้ด้านบนสุดของรายการทำชา:
<!DOCTYPE html>
<html>
<head>
<title>insertBefore()</title>
<style>
form { width: 70%; margin: 0 auto; text-align: center; }
* { padding: 2px; margin: 5px; }
input[type="button"] { border-radius: 10px; }
ol { width: 30%; margin: 0 auto; }
</style>
</head>
<body>
<form>
<fieldset>
<legend>insertBefore()</legend>
<h1>How to make tea</h1>
<h3>Steps:</h3>
<ol id="stepList">
<li>Add Tea Bag</li>
<li>Add Sugar</li>
<li>Add Milk</li>
</ol>
<input type="button" onclick="addStep()" value="Add">
</fieldset>
</form>
<script>
function addStep() {
var newIngredient = document.createElement("LI");
var textnode = document.createTextNode("Boil Water");
newIngredient.appendChild(textnode);
var stepList = document.getElementById("stepList");
stepList.insertBefore(newIngredient, stepList.childNodes[0]);
}
</script>
</body>
</html>
ผลลัพธ์
ก่อนคลิกปุ่ม "Add": รายการคือ 1. Add Tea Bag, 2. Add Sugar, 3. Add Milk
หลังคลิกปุ่ม "Add": รายการกลายเป็น 1. Boil Water, 2. Add Tea Bag, 3. Add Sugar, 4. Add Milk
หมายเหตุ: รูปภาพตัวอย่างจากต้นฉบับไม่ได้รวมอยู่ในเนื้อหานี้