首页 >web前端 >js教程 >为什么 jQuery 不向 SVG 对象添加或删除类,如何修复它?

为什么 jQuery 不向 SVG 对象添加或删除类,如何修复它?

Susan Sarandon
Susan Sarandon原创
2024-11-28 06:44:13967浏览

Why Doesn't jQuery Add or Remove Classes from SVG Objects, and How Can I Fix It?

jQuery SVG:向对象添加或删除类

使用 jQuery SVG,您可能会遇到从 SVG 对象添加或删除类的困难。以下是一个常见错误及其解决方案。

问题:

您尝试将类添加到 SVG 对象,但更改并未出现。 SVG 和 jQuery 功能按其他操作的预期工作,例如点击时触发警报。

代码示例:

<rect>

解决方案:

在早于 3 的 jQuery 版本中,存在向 SVG 添加或删除类的已知问题不支持元素。要解决此问题,请考虑使用以下方法:

  • jQuery 3:更新到 jQuery 版本 3 或更高版本,这可以修复此问题。
  • Vanilla JavaScript: 使用 classList.add() 或 classList.remove() 方法,现代支持这些方法browsers:
document.getElementById("p5").classList.add("clicked");
  • 带有 attr() 的 jQuery: 如果您更喜欢使用 jQuery,另一种方法是使用 .attr() 方法:
$("#p5").attr("class", "jimmy clicked");

请记住,这些解决方案只会具体影响类更改。其他 jQuery 与 SVG 元素的交互(例如事件处理)应该按预期运行。

以上是为什么 jQuery 不向 SVG 对象添加或删除类,如何修复它?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn