切換元素類別意味著根據特定條件從 HTML 元素中新增和刪除特定類別。
例如,我們要突出顯示 HTML div 元素,當滑鼠進入時,我們需要在 HTML 元素中新增具有不同樣式的特定類別。
在這裡,我們將學習使用 JavaScript 和 jQuery 切換元素類別的各種方法。在本教程中,我們將學習在 JavaScript 中切換元素類別。
toggle() 方法切換元素中的類別。它檢查該類別是否存在,然後刪除該類別;否則,它將類別新增到元素中。
使用者可以依照下列語法使用toggle()方法透過JavaScript切換元素類別。
divElement.classList.toggle("class_name");
在上面的語法中,divElement 是一個 HTML 元素,我們想要在其中切換作為切換方法的參數傳遞的類別。
在下面的範例中,我們建立了 div 元素並給出了一些樣式。當使用者單擊該按鈕時,它會呼叫toggleClass() 函數。在toggleClass()函數中,我們使用div元素的id訪問了它。
之後,我們將toggle()方法套用到div元素的classList上。 classList 屬性以數組格式傳回所有 div 元素的類別。此外,我們也傳遞了「color」類別名稱作為toggle()方法的參數。因此,它將在 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>
在上面的輸出中,使用者可以觀察到,當我們點擊按鈕時,它會更改 div 元素的背景顏色,因為它會切換 div 元素的顏色類別。
contains 方法檢查陣列是否包含特定元素。 add() 方法將類別加入元素,remove() 方法從元素中刪除類別。
我們可以使用 classList 屬性來取得元素包含的所有類,然後我們可以使用 contains() 方法來檢查元素是否包含特定類別。如果不包含我們可以新增;否則,我們需要刪除該類別。
使用者可以依照下列語法使用 contains()、add() 和 remove() 方法來切換元素的類別。
if (divElement.classList.contains("class_name")) { divElement.classList.remove("circle"); } else { divElement.classList.add("circle"); }
在上面的語法中,我們使用 contains() 方法來檢查 classList 是否包含 class_name 類,並基於此,我們從元素中新增和刪除該類別。
在下面的範例中,我們為 div 元素賦予了一些樣式。此外,我們還建立了「circle」類,它將 div 轉換為圓形。每當使用者按一下按鈕時,toggleClass() 函數都會檢查 div 元素是否包含「circle」類別。如果 contains() 方法對 Circle 類別傳回 true,我們將使用帶有 classList 的 remove() 方法從 div 中刪除 Circle 類別。否則,我們使用 add() 方法在 div 元素中新增「circle」類別。
<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>
在上面的輸出中,使用者只要點擊按鈕就可以觀察到 div 在圓形和方形之間切換。
JQuery 包含toggleClass() 方法,其運作方式與JavaScript 的toggle() 方法相同。我們可以將 HTML 元素作為toggleClass() 方法的引用,並將類別名稱作為參數傳遞。
使用者可以依照下面的語法使用JQuery的toggleClass()方法來切換元素類別。
$(element).toggleClass("class_name");
在上述語法中,使用者應將元素替換為元素 id、類別或標籤,以使用 JQuery 存取該元素。 class_name 是要切換參考元素的類別名稱。
在下面的範例中,我們透過使用 JQuery 的toggleClass() 方法切換 元素的 text_color 類別來更改 元素文字的顏色。
在輸出中,使用者可以觀察到只要按下按鈕,它就會在紅色和預設顏色之間切換 span 元素的文字顏色。
<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>
我們學習了使用 JavaScript 和 JQuery 切換元素類別的三種方法。當使用者想要在 JavaScript 中編寫程式碼時,可以使用toggle() 方法;當使用者想要使用JQuery 編寫程式碼時,可以使用toggleClass() 方法。
以上是如何在 JavaScript 中切換元素類別?的詳細內容。更多資訊請關注PHP中文網其他相關文章!