首頁 >web前端 >css教學 >jQuery SVG 類別操作:為什麼 `addClass()` 和 `removeClass()` 失敗?

jQuery SVG 類別操作:為什麼 `addClass()` 和 `removeClass()` 失敗?

Linda Hamilton
Linda Hamilton原創
2024-12-21 22:27:52804瀏覽

jQuery SVG Class Manipulation: Why Do `addClass()` and `removeClass()` Fail?

jQuery SVG:為什麼我無法操作類別?

使用 jQuery 操作 SVG 元素時,您可能會在新增或移除類別時遇到困難。這不是語法錯誤,而是源自於 jQuery 內部的限制。

jQuery 限制

3 之前的 jQuery 版本在與 SVG 元素互動方面有已知限制。具體來說,.addClass() 和 .removeClass() 方法可能無法如預期運作。

使用.attr() 的解決方法

jQuery 中的一種解決方法是使用.attr() 方法:

// Adding a class
$("#item").attr("class", "oldclass newclass");

// Removing a class
$("#item").attr("class", "oldclass");

Vanilla JavaScript 替代方案

對於非jQuery 解決方案,您可以使用element.classList.add() 和element.classList.remove() 方法:

// Adding a class
var element = document.getElementById("item");
element.setAttribute("class", "oldclass newclass");

// Removing a class
element.setAttribute("class", "oldclass");

以上是jQuery SVG 類別操作:為什麼 `addClass()` 和 `removeClass()` 失敗?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn