Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk menukar kelas elemen dalam JavaScript?

Bagaimana untuk menukar kelas elemen dalam JavaScript?

WBOY
WBOYke hadapan
2023-08-24 17:29:131042semak imbas

如何在 JavaScript 中切换元素类?

Menukar kelas elemen bermaksud menambah dan mengalih keluar kelas tertentu daripada elemen HTML berdasarkan syarat tertentu.

Sebagai contoh, kami ingin menyerlahkan elemen div HTML apabila tetikus memasukinya, kami perlu menambah kelas tertentu dengan gaya berbeza dalam elemen HTML.

Di sini, kita akan mempelajari pelbagai cara untuk menukar kelas elemen menggunakan JavaScript dan jQuery. Dalam tutorial ini, kita akan belajar menukar kelas elemen dalam JavaScript.

Gunakan kaedah toggle() classList

Kaedah

toggle() menukar kelas dalam elemen. Ia menyemak sama ada kelas itu wujud dan kemudian mengalih keluar kelas jika tidak, ia menambah kelas kepada elemen.

Tatabahasa

Pengguna boleh menggunakan kaedah toggle() untuk menukar kelas elemen melalui JavaScript mengikut sintaks berikut.

divElement.classList.toggle("class_name"); 

Dalam sintaks di atas, divElement ialah elemen HTML di mana kita ingin menogol kelas yang diluluskan sebagai hujah kepada kaedah togol.

Contoh 1

Dalam contoh di bawah, kami telah mencipta elemen div dan memberikannya beberapa gaya. Apabila pengguna mengklik butang, ia memanggil fungsi toggleClass(). Dalam fungsi toggleClass(), kami mengakses elemen div menggunakan idnya.

Selepas itu, kami menggunakan kaedah toggle() pada classList bagi elemen div. Sifat classList mengembalikan kelas semua elemen div dalam format tatasusunan. Selain itu, kami menghantar nama kelas "warna" sebagai parameter kepada kaedah toggle(). Jadi ia akan menambah dan mengalih keluar kelas warna dalam elemen div.

<html>
<head>
   <style>
      div {
         width: 10rem;
         height: 10rem;
         border: 2px solid blue;
         border-radius: 12px;
      }
      .color {
         background-color: grey;
      }
   </style>
</head>
<body>
   <h2>Using the <i> toggle() method </i> to toggle and element class using JavaScript.</h2>
   <h3>Click the below button to add and remove the class from the below div.</h3>
   <div id="div-ele"></div>
   <br>
   <button onClick="toggleClass()">Toggle color class</button>
   <script>
      function toggleClass() {
         let divElement = document.getElementById('div-ele');
         divElement.classList.toggle("color");
      }
   </script>
</body>
</html>

Dalam output di atas, pengguna boleh melihat bahawa apabila kita mengklik pada butang, ia menukar warna latar belakang elemen div apabila ia menukar kategori warna elemen div.

Gunakan kaedah mengandungi(), tambah() dan buang()

mengandungi kaedah pemeriksaan sama ada tatasusunan mengandungi elemen tertentu. Kaedah add() menambah kelas kepada elemen, dan kaedah remove() mengalih keluar kelas daripada elemen.

Kita boleh menggunakan atribut classList untuk mendapatkan semua kelas yang mengandungi elemen, dan kemudian kita boleh menggunakan kaedah contains() untuk menyemak sama ada elemen mengandungi kelas tertentu. Jika ia tidak disertakan, kita boleh menambahnya jika tidak, kita perlu mengalih keluar kelas.

Tatabahasa

Pengguna boleh menggunakan kaedah contains(), add() dan remove() mengikut sintaks berikut untuk menukar kelas sesuatu elemen.

if (divElement.classList.contains("class_name")) {
   divElement.classList.remove("circle");
} else {
   divElement.classList.add("circle");
} 

Dalam sintaks di atas, kami menggunakan kaedah contains() untuk menyemak sama ada classList mengandungi kelas class_name dan berdasarkan ini, kami menambah dan mengalih keluar kelas daripada elemen.

Contoh 2

Dalam contoh di bawah, kami telah memberikan beberapa gaya kepada elemen div. Selain itu, kami mencipta kelas "bulatan", yang menukar div menjadi bulatan. Setiap kali pengguna mengklik butang, fungsi toggleClass() menyemak sama ada elemen div mengandungi kelas "bulatan". Jika kaedah contains() mengembalikan benar untuk kelas Circle, kami akan mengalih keluar kelas Circle daripada div menggunakan kaedah remove() dengan classList. Jika tidak, kami menambah kelas "bulatan" dalam elemen div menggunakan kaedah add().

<html>
<head>
   <style>
      div {
         width: 10rem;
         height: 10rem;
         border: 2px solid yellow;
         background-color: blue;
         display: flex;
         justify-content: center;
         align-items: center;
         color: white;
         font-size: larger;
      }
      .circle {
         border-radius: 50%;
      }
   </style>
</head>
<body>
   <h2>Using the <i> contains(), add(), and remove() method </i> to toggle and element class using JavaScript. </h2>
   <h3>Click the below button to add and remove the circle class from the below div. </h3> 
   <div id="div-ele">
      Square
   </div>
   <br>
   <button onClick="toggleClass()">Toggle color class</button>
   <script>
      function toggleClass() {
         let divElement = document.getElementById('div-ele');
         let allClass = divElement.classList;
         
         // if the element contains the circle class, remove it; Otherwise, add it.
         if (allClass.contains("circle")) {
            divElement.classList.remove("circle");
            divElement.innerHTML = "Square";
         } else {
            divElement.classList.add("circle");
            divElement.innerHTML = "Circle";
         }
      }
   </script>
</body>
</html>

Dalam output di atas, pengguna boleh memerhatikan penukaran div antara bulat dan segi empat sama hanya dengan mengklik butang.

Gunakan kaedah toggleClass() JQuery

JQuery termasuk kaedah toggleClass(), yang berfungsi sama seperti kaedah toggle() JavaScript. Kita boleh mengambil elemen HTML sebagai rujukan kepada kaedah toggleClass() dan lulus nama kelas sebagai parameter.

Tatabahasa

Pengguna boleh menggunakan kaedah toggleClass() JQuery untuk menukar kelas elemen mengikut sintaks berikut.

$(element).toggleClass("class_name"); 

Dalam sintaks di atas, pengguna harus menggantikan elemen dengan id elemen, kelas atau teg untuk mengakses elemen menggunakan JQuery. class_name ialah nama kelas bagi elemen rujukan yang akan ditukar.

Contoh 3

Dalam contoh di bawah, kami menukar warna teks elemen dengan menogol kelas text_color elemen menggunakan kaedah toggleClass() JQuery.

Dalam output, pengguna boleh melihat bahawa apabila butang ditekan, ia menukar warna teks elemen span antara merah dan warna lalai.

<html>
<head>
   <style>
      .text_color {
         color: red;
      }
   </style>
   <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.3/jquery.min.js"></script>
</head>
<body>
   <h2>Using the <i> JQuery's toggleClass() method </i> to toggle and element class using JQUery. </h2>
   <h3>Click the below button toggle text_color class from the below span element.</h3>
   <span>This is a sample text.</span>
   <br>
   <br>
   <button onClick="toggleClass()">Toggle color class</button>
   <script>
      function toggleClass() {
         $("span").toggleClass("text_color");
      }
   </script>
</body>
</html>

Kami mempelajari tiga cara untuk menukar kelas elemen menggunakan JavaScript dan JQuery. Apabila pengguna ingin menulis kod dalam JavaScript, kaedah toggle() boleh digunakan apabila pengguna ingin menulis kod menggunakan JQuery, kaedah toggleClass() boleh digunakan.

Atas ialah kandungan terperinci Bagaimana untuk menukar kelas elemen dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam