我尝试过toClass,切换,但这不起作用。 目标:有一个白色元素。点击按钮,元素变成例如蓝色。我们再次点击一个按钮,元素再次变白。 测试3
答案 0 :(得分:1)
根据jQuerys发行说明,版本3.0之前不支持对SVG的类操作:https://blog.jquery.com/2015/07/13/jquery-3-0-and-jquery-compat-3-0-alpha-versions-released/
因此,如果您使用jQuery 3.0(或更高版本),或者您使用.attr()
方法自行操作类,它应该可以工作:
somejQueryElement.attr('class', 'new-value')
我在这里做了一个基本的例子:
答案 1 :(得分:0)
$(document).ready(function () {
var flag = true; // take a flag here
$(".S1").mouseover(function () {
if (flag) { // check flag before change
$(".S1").css('fill', '158844');
$(".S1").css('stroke', '158844');
}
});
$(".S1").mouseout(function () {
if (flag) { // check flag before change
$(".S1").css('fill', '#000000');
$(".S1").css('stroke', '#000000');
}
});
$(".S1").click(function () {
flag = false; // reset flag
$(".S1").css('fill', '158844');
$(".S1").css('stroke', '158844');
});
});

<svg>
<line class = "S1" fill="none" stroke="#000000" stroke-width="3.8417" x1="73.208" y1="73.341" x2="99.923" y2="73.341"/>
<polygon class = "S1" points="97.23,82.618 97.176,72.229 97.121,61.843 106.145,66.987 115.169,72.136 106.2,77.377 "/>
</svg>
&#13;