为了账号安全,请及时绑定邮箱和手机立即绑定

jQuerySVG,为什么我不能添加类呢?

jQuerySVG,为什么我不能添加类呢?

喵喔喔 2019-06-18 15:09:13
jQuerySVG,为什么我不能添加类呢?我正在使用jQuerySVG。我不能向对象添加或移除类。有人知道我的错误吗?SVG:<rect class="jimmy" id="p5" x="200" y="200" width="100" height="100" />不添加类的jQuery:$(".jimmy").click(function() {     $(this).addClass("clicked");});我知道SVG和jQuery合作得很好,因为我能,会,可以目标对象并在单击对象时发出警报:$(".jimmy").click(function() {     alert('Handler for .click() called.');});
查看完整描述

3 回答

?
婷婷同学_

TA贡献1844条经验 获得超8个赞

阅读接下来的两个答案。

  • jQuery 3修复了根本问题
  • 香草JS:

    element.classList.add('newclass')

    在现代浏览器中工作。

jQuery(小于3)不能向SVG添加类。

.attr()使用SVG,所以如果您想依赖jQuery:

// Instead of .addClass("newclass")$("#item").attr("class", "oldclass newclass");
// Instead of .removeClass("newclass")$("#item").attr("class", "oldclass");

如果您不想依赖jQuery,那么:

var element = document.getElementById("item");// Instead of .addClass("newclass")element.setAttribute("class", "oldclass newclass");
// Instead of .removeClass("newclass")element.setAttribute("class", "oldclass");


查看完整回答
反对 回复 2019-06-18
?
忽然笑

TA贡献1806条经验 获得超5个赞

的确有元素类列表在DOMAPI中,它同时适用于HTML和SVG元素。不需要jQuerySVG插件,甚至不需要jQuery。

$(".jimmy").click(function() {
    this.classList.add("clicked");});


查看完整回答
反对 回复 2019-06-18
  • 3 回答
  • 0 关注
  • 875 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信