จาวาสคริปต์ DOM HTML


สารบัญ

    แสดงสารบัญ


HTML DOM ช่วยให้ JavaScript สามารถเปลี่ยนเนื้อหาขององค์ประกอบ HTML


การเปลี่ยนเนื้อหา HTML

วิธีที่ง่ายที่สุดในการแก้ไขเนื้อหาขององค์ประกอบ HTML คือการใช้คุณสมบัติ innerHTML

หากต้องการเปลี่ยนเนื้อหาขององค์ประกอบ HTML ให้ใช้ไวยากรณ์นี้:

document.getElementById(id).innerHTML = new HTML

ตัวอย่างนี้เปลี่ยนเนื้อหาขององค์ประกอบ <p>:

ตัวอย่าง

<html>
<body>

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

<script>
document.getElementById("p1").innerHTML = "New text!";
</script>

</body>
</html>

ลองด้วยตัวคุณเอง →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript can Change HTML</h2>

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

<script>
document.getElementById("p1").innerHTML = "New text!";
</script>

<p>The paragraph above was changed by a script.</p>

</body>
</html>

ตัวอย่างอธิบาย:

  • เอกสาร HTML ข้างต้นประกอบด้วย <p> องค์ประกอบที่มี id="p1"

  • เราใช้ HTML DOM เพื่อรับองค์ประกอบที่มี id="p1"

  • JavaScript เปลี่ยนเนื้อหา (innerHTML) ขององค์ประกอบนั้นเป็น "ใหม่" ข้อความ!"

ตัวอย่างนี้เปลี่ยนเนื้อหาขององค์ประกอบ <h1>:

ตัวอย่าง

<!DOCTYPE html>
<html>
<body>

<h1 id="id01">Old Heading</h1>

<script>
const element = document.getElementById("id01");
element.innerHTML = "New Heading";
</script>

</body>
</html>

ลองด้วยตัวคุณเอง →

<!DOCTYPE html>
<html>
<body>

<h1 id="id01">Old Heading</h1>

<script>
const element = document.getElementById("id01");
element.innerHTML = "New Heading";
</script>

<p>JavaScript changed "Old Heading" to "New Heading".</p>

</body>
</html> 

ตัวอย่างอธิบาย:

  • เอกสาร HTML ข้างต้นประกอบด้วย <h1> องค์ประกอบที่มี id="id01"

  • เราใช้ HTML DOM เพื่อรับองค์ประกอบที่มี id="id01"

  • JavaScript เปลี่ยนเนื้อหา (innerHTML) ขององค์ประกอบนั้นเป็น "ใหม่" หัวเรื่อง"



การเปลี่ยนค่าของแอตทริบิวต์

หากต้องการเปลี่ยนค่าของแอตทริบิวต์ HTML ให้ใช้ไวยากรณ์นี้:

document.getElementById(id).attribute = new value

ตัวอย่างนี้เปลี่ยนค่าของแอตทริบิวต์ src ขององค์ประกอบ <img>:

ตัวอย่าง

<!DOCTYPE html>
<html>
<body>

<img id="myImage" src="smiley.gif">

<script>
document.getElementById("myImage").src = "landscape.jpg";
</script>

</body>
</html>

ลองด้วยตัวคุณเอง →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript HTML DOM</h2>
<img id="image" src="smiley.gif" width="160" height="120">

<script>
document.getElementById("image").src = "landscape.jpg";
</script>

<p>The original image was smiley.gif, but the script changed it to landscape.jpg</p>

</body>
</html>

ตัวอย่างอธิบาย:

  • เอกสาร HTML ด้านบนมีองค์ประกอบ <img> พร้อมด้วย id="myImage"

  • เราใช้ HTML DOM เพื่อรับองค์ประกอบที่มี id="myImage"

  • JavaScript เปลี่ยนแอตทริบิวต์ src ขององค์ประกอบนั้นจาก "smiley.gif" เป็น "landscape.jpg"


เนื้อหา HTML แบบไดนามิก

JavaScript สามารถสร้างเนื้อหา HTML แบบไดนามิก:

ตัวอย่าง

<!DOCTYPE html>
<html>
<body>

<script>
document.getElementById("demo").innerHTML = "Date : " + Date();
</script>

</body>
</html>

ลองด้วยตัวคุณเอง →

<!DOCTYPE html>
<html>
<body>

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

<script>
document.getElementById("demo").innerHTML = "Date : " + Date();
</script>

</body>
</html> 

เอกสาร.write()

ใน JavaScript document.write() สามารถใช้เพื่อเขียนโดยตรงไปยัง HTML กระแสเอาท์พุท:

ตัวอย่าง

<!DOCTYPE html>
<html>
<body>

<p>Bla bla bla</p>

<script>
document.write(Date());
</script>

<p>Bla bla bla</p>

</body>
</html>

ลองด้วยตัวคุณเอง →

<!DOCTYPE html>
<html>
<body>

<p>Bla, bla, bla</p>

<script>
document.write(Date());
</script>

<p>Bla, bla, bla</p>

</body>
</html> 

ห้ามใช้ document.write() หลังจากโหลดเอกสารแล้ว มันจะ เขียนทับเอกสาร