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

คุณสมบัติ classList ของ HTML DOM

คุณสมบัติ classList ของ HTML DOM ใช้สำหรับดึงรายชื่อคลาส (class names) ที่เชื่อมโยงกับองค์ประกอบ HTML คืนค่าเป็น DOMTokenList ซึ่งเป็นชุดของโทเค็นคั่นด้วยช่องว่าง คุณสมบัตินี้มีประโยชน์สำหรับเพิ่ม ลบ หรือสลับ (toggle) คลาส CSS ขององค์ประกอบ

คุณสมบัติ classList เป็นแบบอ่านอย่างเดียว (read-only) แต่สามารถเพิ่มหรือลบคลาสได้ผ่านเมธอด add() และ remove()

คุณสมบัติ (Properties)

คุณสมบัติคำอธิบาย
lengthคืนจำนวนคลาสในรายการ (อ่านอย่างเดียว)

เมธอด (Methods)

เมธอดคำอธิบาย
add(class1, class2, class3...)เพิ่มคลาสหนึ่งหรือหลายคลาสให้องค์ประกอบ หากคลาสมีอยู่แล้วจะไม่เพิ่มซ้ำ
contains(class)คืนค่า boolean แสดงว่าองค์ประกอบมีคลาสที่ระบุหรือไม่ (true = มี, false = ไม่มี)
item(index)คืนชื่อคลาสตามลำดับ index (เริ่มจาก 0) คืน null หาก index เกินขอบเขต
remove(class1, class2, class3...)ลบคลาสหนึ่งหรือหลายคลาสจากองค์ประกอบ หากคลาสไม่มีอยู่ จะไม่เกิดข้อผิดพลาด
toggle(class, true|false)สลับคลาส: เพิ่มหากไม่มี (คืน true), ลบหากมี (คืน false) พารามิเตอร์ที่ 2 บังคับเพิ่ม/ลบ (true=เพิ่ม, false=ลบ) ไม่สนใจสถานะเดิม

ไวยากรณ์ (Syntax)

element.classList

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

ตัวอย่างด้านล่างแสดงการเพิ่มคลาส CSS 3 คลาสให้กับ div element:

<!DOCTYPE html>
<html>
<head>
<style>
  .firstDiv {
    width: 200px;
    height: 200px;
    padding: 15px;
    border: 1px double blue;
    position:relative;
    top:10px;
  }
  .secondDiv {
    background-color: lightgreen;
    color: red;
  }
  .thirdDiv {
    text-transform: capitalize;
    text-align: center;
    font-size: 30px;
  }
</style>
</head>
<body>
<p>Click the below button to add class to the below div element</p>
<button onclick="classAdd()">ADD CLASS</button>
<br>
<div id="DIV1"> sample div </div>
<script>
  function classAdd() {
    document.getElementById("DIV1").classList.add("firstDiv", "secondDiv", "thirdDiv");
  }
</script>
</body>
</html>

ผลลัพธ์ (Output)

ก่อนคลิกปุ่ม: div แสดงปกติ (ไม่มีสไตล์พิเศษ) หลังคลิกปุ่ม ADD CLASS: div จะได้รับสไตล์จาก 3 คลาส - กว้าง 200px สูง 200px ขอบสีน้ำเงิน พื้นสีเขียวอ่อน ตัวอักษรสีแดง ตัวแรกของคำใหญ่ จัดกลาง ขนาด 30px

คำอธิบายโค้ด:

  1. สร้าง div element ID="DIV1" และ 3 คลาส CSS (.firstDiv, .secondDiv, .thirdDiv)
  2. สร้างปุ่ม ADD CLASS เรียกฟังก์ชัน classAdd() เมื่อคลิก
  3. ฟังก์ชัน classAdd() ใช้ getElementById หา DIV1 แล้ว ใช้ classList.add() เพิ่ม 3 คลาสพร้อมกัน
ข้อดีของ classList: จัดการหลายคลาสได้ง่ายกว่า className (string) ที่ต้องจัดการสตริงเอง รองรับ add, remove, toggle, contains ได้โดยตรง