เมธอด HTML DOM getElementsByClassName() ใช้สำหรับรวบรวมองค์ประกอบทั้งหมดในเอกสารที่มีชื่อคลาสที่กำหนด ส่งคืนองค์ประกอบที่กำหนดทั้งหมดเป็นวัตถุ NodeList คุณสามารถเข้าถึงองค์ประกอบใด ๆ ในวัตถุที่ส่งคืนโดยใช้หมายเลขดัชนี วิธีการนี้สามารถเรียกใช้บนองค์ประกอบแต่ละองค์ประกอบเพื่อให้องค์ประกอบลูกที่สืบทอดที่มีชื่อคลาสที่กำหนดได้
ไวยากรณ์
ต่อไปนี้เป็นไวยากรณ์สำหรับเมธอด getElementsByClassName() -
document.getElementsByClassName(classname)
ที่นี่ ชื่อคลาสเป็นสตริงประเภทที่ระบุชื่อคลาสขององค์ประกอบที่คุณต้องการเข้าถึง นอกจากนี้ยังสามารถค้นหาชื่อชั้นเรียนได้หลายชื่อโดยคั่นด้วยการเว้นวรรค
ตัวอย่าง
ให้เราดูตัวอย่างของเมธอด getElementsByClassName() -
<!DOCTYPE html> <html> <head> <script> function changePara() { var p = document.getElementsByClassName("PARA1"); p[0].innerHTML = "This text has been changed"; p[1].style.color = "red"; p[1].style.backgroundColor = "yellow"; } </script> </head> <body> <h1>getElementsByClassName() example</h1> <p class="PARA1">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua</p> <p class="PARA1"> Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat</p> <button onclick="changePara()">CHANGE</button> </body> </html>
ผลลัพธ์
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
เมื่อคลิกปุ่ม CHANGE -
ในตัวอย่างข้างต้น −
เราได้สร้างย่อหน้าสองย่อหน้าที่มี classname=”PARA1” เชื่อมโยงอยู่
<p class="PARA1">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua</p> <p class="PARA1"> Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat</p>
จากนั้นเราได้สร้างปุ่ม CHANGE ที่จะรัน changePara() เมื่อผู้ใช้คลิก -
<button onclick="changePara()">CHANGE</button>
เมธอด changePara() รับทั้งองค์ประกอบ
เป็น nodeListObject โดยใช้เมธอด getElementsByClassName() บนวัตถุเอกสารและกำหนดให้กับตัวแปร p เราใช้ตัวเลขดัชนีเพื่อเปลี่ยนข้อความในย่อหน้าแรกและใช้รูปแบบบางอย่างกับย่อหน้าที่สอง -
function changePara() { var p = document.getElementsByClassName("PARA1"); p[0].innerHTML = "This text has been changed"; p[1].style.color = "red"; p[1].style.backgroundColor = "yellow"; }