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

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

เมธอด isSameNode() ใช้ตรวจสอบว่าโหนดสองตัวเป็นโหนดเดียวกันหรือไม่ (คืนค่า true/false)

⚠ หมายเหตุสำคัญ: เมธอดนี้ ล้าสมัย (deprecated) แล้ว ควรใช้ตัวดำเนินการ === แทน

ไวยากรณ์ (Syntax)

nodeOne.isSameNode(nodeTwo)

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

ตัวอย่างด้านล่างตรวจสอบว่า "Trophy 1" และรายการแรกในลิสต์เป็นโหนดเดียวกันหรือไม่:

<!DOCTYPE html>
<html>
<head>
<title>isSameNode()</title>
<style>
  form { width: 70%; margin: 0 auto; text-align: center; }
  * { padding: 2px; margin: 5px; }
  input[type="button"] { border-radius: 10px; }
  ul { width: 30%; margin: 0 auto; }
</style>
</head>
<body>
<form>
  <fieldset>
    <legend>isSameNode()</legend>
    <h3>John Doe's Achievements</h3>
    <ul>
      <li id="cricket">Trophy 1</li>
      <li>Trophy 2</li>
      <li>Trophy 3</li>
    </ul>
    <input type="button" onclick="confirmTrophy()" value="Check">
    <div id="divDisplay"></div>
  </fieldset>
</form>
<script>
  var divDisplay = document.getElementById("divDisplay");
  var cricketTrophy = document.getElementById("cricket");
  var trophyOne = document.getElementsByTagName("li")[0];
  divDisplay.textContent = 'NOTE: Check if Trophy 1 was won in cricket';
  
  function confirmTrophy() {
    if(cricketTrophy.isSameNode(trophyOne))
      divDisplay.textContent = 'Trophy 1 was indeed won in cricket';
    else
      divDisplay.textContent = 'Trophy 1 was not won in cricket';
  }
</script>
</body>
</html>

ผลลัพธ์

ก่อนคลิกปุ่ม "Check": แสดงโน้ตการตรวจสอบ

หลังคลิกปุ่ม "Check": แสดง "Trophy 1 was indeed won in cricket" (เพราะเป็นโหนดเดียวกัน)

แนวทางปฏิบัติที่แนะนำ: ใช้ if (cricketTrophy === trophyOne) แทน

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