首页 >web前端 >css教程 >jQuery SVG 类操作:为什么 `addClass()` 和 `removeClass()` 失败?

jQuery SVG 类操作:为什么 `addClass()` 和 `removeClass()` 失败?

Linda Hamilton
Linda Hamilton原创
2024-12-21 22:27:52791浏览

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