首頁 > web前端 > js教程 > 為什麼 jQuery 不能可靠地在 SVG 元素中加入類別?

為什麼 jQuery 不能可靠地在 SVG 元素中加入類別?

Susan Sarandon
發布: 2024-12-04 18:20:15
原創
836 人瀏覽過

Why Doesn't jQuery Add Classes to SVG Elements Reliably?

jQuery SVG:類別修改的限制

嘗試使用 jQuery 操作 SVG 元素上的類別時,您可能會遇到困難。讓我們探討一下這個問題。

在您提供的程式碼中,您嘗試使用 .addClass() 將「按一下」類別新增至 SVG 矩形。但是,由於 jQuery 的潛在限制,此方法可能無法正常運作。

3 之前的 JQuery 版本在與 SVG 元素互動時有已知問題。具體來說,他們無法可靠地從 SVG 元素中新增或刪除類別。這是因為 jQuery 主要操作底層 HTML DOM,而 SVG 元素具有不同的內部表示。

解決方法:

要克服此限制,您可以採用以下方法解決方法:

  • 升級到jQuery 33 : 版本jQuery 的第3 章解決了SVG 類別操作的問題。如果可能,請更新至此版本以解決問題。
  • 使用 Vanilla JavaScript: 在現代瀏覽器中,您可以直接存取元素的 classList 屬性並對其進行修改。例如:
const element = document.getElementById("p5");
element.classList.add("clicked");
登入後複製
  • 使用 jQuery 的 .attr(): 可以使用 .attr() 來操作類別屬性。但是,請記住,這會更改整個類別列表,而不僅僅是新增或刪除單一類別。
$("#p5").attr("class", "jimmy clicked");
登入後複製

透過實作這些解決方法,您應該能夠有效地從 SVG 元素中新增和刪除類別中使用 jQuery 或普通 JavaScript。

以上是為什麼 jQuery 不能可靠地在 SVG 元素中加入類別?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板