ล่าสุดการพัฒนาเว็บบทเรียน
×

JS เกี่ยวกับการสอน

JS บ้าน JS บทนำ JS สถานที่ที่จะ JS ส่งออก JS วากยสัมพันธ์ JS งบ JS ความคิดเห็น JS ตัวแปร JS ผู้ประกอบการ JS คณิตศาสตร์ JS การมอบหมาย JS ชนิดข้อมูล JS ฟังก์ชั่น JS วัตถุ JS ขอบเขต JS เหตุการณ์ JS เงื่อนไข JS วิธีสตริง JS เบอร์ JS วิธีการจำนวน JS คณิตศาสตร์ JS วันที่ JS รูปแบบวันที่ JS วันวิธีการ JS แถว JS วิธีการอาร์เรย์ JS booleans JS เปรียบเทียบ JS เงื่อนไข JS สวิตซ์ JS ห่วง For JS ในขณะที่ห่วง JS หยุด JS ประเภทการแปลง JS นิพจน์ทั่วไป JS ข้อผิดพลาด JS แก้จุดบกพร่อง JS hoisting JS โหมดที่เข้มงวด JS คู่มือสไตล์ JS ปฏิบัติที่ดีที่สุด JS ข้อผิดพลาด JS ประสิทธิภาพ JS คำสงวน JS JSON

JS ฟอร์ม

แบบฟอร์มการตรวจสอบ รูปแบบ API

JS วัตถุ

นิยามวัตถุ คุณสมบัติของวัตถุ วิธีการของวัตถุ ต้นแบบวัตถุ

JS ฟังก์ชั่น

นิยามฟังก์ชั่น ค่าฟังก์ชัน ฟังก์ชั่นการภาวนา ปิดฟังก์ชั่น

JS HTML DOM

DOM แนะนำ DOM วิธีการ DOM เอกสาร DOM องค์ประกอบ DOM HTML DOM CSS DOM ภาพเคลื่อนไหว DOM เหตุการณ์ DOM EventListener DOM การเดินเรือ DOM โหนด DOM Nodelist

JS เบราว์เซอร์ BOM

JS Window JS Screen JS Location JS History JS Navigator JS Popup Alert JS Timing JS Cookies

JS ตัวอย่าง

JS ตัวอย่าง JS HTML DOM JS HTML อินพุต JS HTML วัตถุ JS HTML เหตุการณ์ JS เบราว์เซอร์ JS ทดสอบ JS สรุป

JS คู่มืออ้างอิง

JavaScript วัตถุ HTML DOM วัตถุ


 

JavaScript HTML DOM นำร่อง


กับ DOM HTML คุณสามารถนำทางต้นไม้โหนดโดยใช้ความสัมพันธ์โหนด


โหนด DOM

ตามมาตรฐานของ W3C HTML DOM ทุกอย่างในเอกสาร HTML เป็นโหนด:

  • เอกสารทั้งหมดเป็นเอกสารโหนด
  • องค์ประกอบ HTML ทุกโหนดองค์ประกอบ
  • ข้อความภายในองค์ประกอบ HTML มีโหนดข้อความ
  • แอตทริบิวต์ HTML ทุกโหนดแอตทริบิวต์
  • ความคิดเห็นทั้งหมดจะโหนดความคิดเห็น
ต้นไม้ DOM HTML

กับ DOM HTML, โหนดทั้งหมดในต้นไม้โหนดสามารถเข้าถึงได้โดยใช้ JavaScript

โหนดใหม่ที่สามารถสร้างและโหนดทั้งหมดสามารถแก้ไขหรือลบ


ความสัมพันธ์โหนด

โหนดในต้นไม้โหนดมีความสัมพันธ์แบบลำดับชั้นกับแต่ละอื่น ๆ

เงื่อนไขการใช้บริการของผู้ปกครองเด็กและพี่น้องที่ถูกนำมาใช้เพื่ออธิบายความสัมพันธ์

  • ในต้นโหนดโหนดด้านบนเรียกว่าราก (หรือโหนดราก)
  • ทุกโหนดมีตรงหนึ่งแม่ยกเว้นราก (ซึ่งไม่มีผู้ปกครอง)
  • โหนดสามารถมีจำนวนของเด็ก
  • พี่น้อง (พี่น้อง) เป็นโหนดกับผู้ปกครองเดียวกัน
<html>

  <head>
      <title>DOM Tutorial</title>
  </head>

  <body>
      <h1>DOM Lesson one</h1>
      <p>Hello world!</p>
  </body>

</html>
ต้นไม้โหนด

จาก HTML ข้างต้นคุณสามารถอ่าน:

  • <html> เป็นโหนดราก
  • <html> ไม่มีพ่อแม่
  • <html> เป็นแม่ของ <head> และ <body>
  • <head> เป็นลูกคนแรกของ <html>
  • <body> เป็นลูกคนสุดท้ายของ <html>

และ:

  • <head> มีเด็กคนหนึ่ง: <title>
  • <title> มีเด็กคนหนึ่ง (โหนดข้อความ): "DOM สอน"
  • <body> มีลูกสองคน: <h1> และ <p>
  • <h1> มีเด็กคนหนึ่ง: "บทเรียน DOM หนึ่ง"
  • <p> มีเด็กคนหนึ่ง: "สวัสดีชาวโลก"
  • <h1> และ <p> เป็นพี่น้อง

การนำระหว่างโหนด

คุณสามารถใช้คุณสมบัติที่โหนดต่อไปนี้เพื่อนำทางระหว่างโหนดกับ JavaScript:

  • parentNode
  • childNodes[ nodenumber ]
  • firstChild
  • lastChild
  • nextSibling
  • previousSibling

คำเตือน!

ข้อผิดพลาดที่พบบ่อยในการประมวลผล DOM เป็นที่คาดหวังโหนดองค์ประกอบที่จะมีข้อความ

ในตัวอย่างนี้:<title> DOM สอน </title> โหนดองค์ประกอบ <title> ไม่ได้มีข้อความมันมีโหนดข้อความที่มีค่า "DOM สอน"

ค่าของโหนดข้อความที่สามารถเข้าถึงได้โดยโหนด innerHTML คุณสมบัติหรือ nodeValue


Child โหนดและค่านิยมโหนด

นอกจากนี้ยังมี innerHTML คุณสมบัติคุณยังสามารถใช้ childNodes และ nodeValue คุณสมบัติที่จะได้รับเนื้อหาของธาตุนั้น

ตัวอย่างต่อไปนี้เก็บค่าโหนดของ <h1> องค์ประกอบและสำเนาให้มันกลายเป็น <p> องค์ประกอบ:

ตัวอย่าง

<html>
<body>

<h1 id="intro">My First Page</h1>

<p id="demo">Hello!</p>

<script>
var myText = document.getElementById("intro").childNodes[0].nodeValue;
document.getElementById("demo").innerHTML = myText;
</script>

</body>
</html>
ลองตัวเอง»

ในตัวอย่างข้างต้น getElementById เป็นวิธีการในขณะที่ childNodes และ nodeValue มีคุณสมบัติ

ในการกวดวิชานี้เราจะใช้ innerHTML คุณสมบัติ แต่การเรียนรู้วิธีการดังกล่าวข้างต้นจะเป็นประโยชน์สำหรับการทำความเข้าใจโครงสร้างและระบบนำทางของ DOM ที่

ใช้ firstChild คุณสมบัติเป็นเช่นเดียวกับการใช้ childNodes[0] :

ตัวอย่าง

<html>
<body>

<h1 id="intro">My First Page</h1>

<p id="demo">Hello World!</p>

<script>
myText = document.getElementById("intro").firstChild.nodeValue;
document.getElementById("demo").innerHTML = myText;
</script>

</body>
</html>
ลองตัวเอง»

DOM โหนดราก

มีสองคุณสมบัติพิเศษที่ช่วยให้เข้าถึงเอกสารเต็มรูปแบบ:

  • document.body - ร่างกายของเอกสาร
  • document.documentElement - เอกสารครบ

ตัวอย่าง

<html>
<body>

<p>Hello World!</p>
<div>
<p>The DOM is very useful!</p>
<p>This example demonstrates the <b>document.body</b> property.</p>
</div>

<script>
alert(document.body.innerHTML);
</script>

</body>
</html>
ลองตัวเอง»

ตัวอย่าง

<html>
<body>

<p>Hello World!</p>
<div>
<p>The DOM is very useful!</p>
<p>This example demonstrates the <b>document.documentElement</b> property.</p>
</div>

<script>
alert(document.documentElement.innerHTML);
</script>

</body>
</html>
ลองตัวเอง»

nodeName ทรัพย์สิน

nodeName คุณสมบัติระบุชื่อของโหนด

  • nodeName อ่านอย่างเดียว
  • nodeName ของโหนดองค์ประกอบเป็นเช่นเดียวกับชื่อแท็ก
  • nodeName ของโหนดแอตทริบิวต์เป็นชื่อแอตทริบิวต์
  • nodeName ของโหนดข้อความอยู่เสมอ #text
  • nodeName ของโหนดเอกสารอยู่เสมอ #document

หมายเหตุ: nodeName เสมอมีชื่อแท็กตัวพิมพ์ใหญ่ขององค์ประกอบ HTML


nodeValue ทรัพย์สิน

nodeValue คุณสมบัติระบุค่าของโหนด

  • nodeValue สำหรับโหนดองค์ประกอบจะไม่ได้กำหนด
  • nodeValue สำหรับโหนดข้อความเป็นข้อความตัวเอง
  • nodeValue สำหรับโหนดแอตทริบิวต์เป็นค่าแอตทริบิวต์

nodeType ทรัพย์สิน

nodeType คุณสมบัติผลตอบแทนประเภทของโหนด. nodeType จะอ่านเท่านั้น

ที่สำคัญที่สุดโหนดประเภท:

ประเภทส่วนประกอบ NodeType
Element 1
Attribute 2
Text 3
Comment 8
Document 9