javascript - 如何在第二次单击 jquery 时更改 SVG 填充颜色
问题描述
我正在尝试在第二次单击时更改 SVG 上的填充颜色,目前,可以在第一次单击时添加填充颜色,但我希望在第二次单击时颜色更改/重置为默认值;这是我当前的代码:
jQuery('#color-my-svg').on("click", function() {
if(!jQuery(this)[0].hasAttribute('style')){
jQuery('#color-my-svg').css({ fill: "#ff0000" });
}
else{
jQuery(this).removeAttr('style');
}
});
解决方案
每当用户点击元素时:
如果元素具有类标识符(例如
click-one
),则更改填充颜色。否则添加类标识符。
jQuery('#color-my-svg').on("click", function() {
if(jQuery('#color-my-svg').hasClass("click-one"))
jQuery('#color-my-svg').css({ fill: "#ff0000" });
else
jQuery('#color-my-svg').addClass("click-one");
});
推荐阅读
- c++ - 两个范围的嵌套和一个范围的嵌套有什么区别
- python - PyQt5 TabWidget tabBarClicked TypeError: native Qt signal is not callable
- docker - 使用 docker 部署带有 RDMA 的 ceph 集群
- python - 有条件的 Dash 注册输出 - 根据成功状态重定向与显示 div
- node.js - 我的反应脚本没有运行。它说找不到所需的文件。我尝试使用整个地址。该怎么办?
- mongodb - Mongodb:如何将`string`类型转换为`binData`类型?
- sharepoint - Spfx 将应用程序添加到共享点站点 -- 问题
- angular - 我想删除资源但无法匹配任何路由。URL 段:'remove-visitor'
- java - 如何从班级获取日期到测试班
- r - 仅将单圈时间从奇怪的格式转换为秒