Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> HTML

เมธอด insertAdjacentHTML() ใน HTML DOM

เมธอด insertAdjacentHTML() ใช้แทรกสตริง HTML เข้าไปในตำแหน่งที่ระบุเทียบกับโหนดอ้างอิง (แปลงสตริงเป็น DOM nodes จริง)

ไวยากรณ์ (Syntax)

node.insertAdjacentHTML("positionString", "htmlString")

สตริงตำแหน่ง (Position Strings)

positionStringคำอธิบาย
afterbeginแทรก HTML หลังจุดเริ่มต้นของโหนด (ภายในด้านหน้า)
afterendแทรก HTML หลังโหนดอ้างอิง (ภายนอกด้านหลัง)
beforebeginแทรก HTML ก่อนโหนดอ้างอิง (ภายนอกด้านหน้า)
beforeendแทรก HTML ก่อนจุดสิ้นสุดของโหนด (ภายในด้านหลัง)

htmlString

สามารถเป็นโค้ด HTML ใดๆ ที่ถูกต้อง เช่น <span>new span</span> หรือ <p>This is a new paragraph</p>

ตัวอย่างการใช้งาน

ตัวอย่างด้านล่างเพิ่ม "Son" ลงในต้นไม้ครอบครัว:

<!DOCTYPE html>
<html>
<head>
<title>insertAdjacentHTML()</title>
<style>
  form { width: 70%; margin: 0 auto; text-align: center; }
  * { padding: 2px; margin: 5px; }
  input[type="button"] { border-radius: 10px; }
</style>
</head>
<body>
<form>
  <fieldset>
    <legend>insertAdjacentHTML()</legend>
    <h1>Family Tree</h1>
    <span id="GrandFather">Grand Father --></span>
    <span id="Father">Father --></span>
    <span id="Myself">Myself</span>
    <input type="button" onclick="rectifyTree()" value="Son is born">
  </fieldset>
</form>
<script>
  function rectifyTree() {
    var MSpan = document.getElementById("Myself");
    MSpan.insertAdjacentHTML("afterend", "<span id='Son'>-->Son</span>");
  }
</script>
</body>
</html>

ผลลัพธ์

ก่อนคลิกปุ่ม "Son is born": แสดง Grand Father → Father → Myself

หลังคลิกปุ่ม "Son is born": แสดง Grand Father → Father → Myself → Son

หมายเหตุ: รูปภาพตัวอย่างจากต้นฉบับไม่ได้รวมอยู่ในเนื้อหานี้

⚠ คำเตือนด้านความปลอดภัย: ใช้ insertAdjacentHTML() อย่างระมัดระวังกับข้อมูลจากผู้ใช้ เพื่อป้องกัน XSS attacks ควรใช้ insertAdjacentText() หรือ createElement() แทนเมื่อเป็นไปได้