Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在第二次单击jquery时更改SVG填充颜色_Javascript_Jquery - Fatal编程技术网

Javascript 如何在第二次单击jquery时更改SVG填充颜色

Javascript 如何在第二次单击jquery时更改SVG填充颜色,javascript,jquery,Javascript,Jquery,我试图在第二次单击时更改SVG上的填充颜色,目前,我可以在第一次单击时添加填充颜色,但我希望在第二次单击时更改/重置颜色为默认值; 这是我当前的代码: jQuery('#color-my-svg').on("click", function() { if(!jQuery(this)[0].hasAttribute('style')){ jQuery('#color-my-svg').css({ fill: "#ff0000" }); } else{ jQuery(th

我试图在第二次单击时更改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');
  }
});

每当用户单击元素时:

  • 如果元素具有类标识符(例如
    单击一个

  • 否则,请添加类标识符



您可以将单击计数器设置为
变量
&根据单击次数选择添加/删除类,如下所示:

HTML:

<div id="divId" class="divClass">I'm a div!</div>
/* Styling for demo only */
.divClass {
  background: green;
  color: white;
  height: 100px;
  width: 100px;
}

.svg-fill-color {
  background: red;
  /* Add fill here */
}
let clickNumbers = 0;

jQuery('#divId').on("click", function() {
        clickNumbers++;

    if(clickNumbers % 2 == 0){
        jQuery('#divId').addClass('svg-fill-color');
    } else {
        jQuery('#divId').removeClass('svg-fill-color');
    }
});
JavaScript:

<div id="divId" class="divClass">I'm a div!</div>
/* Styling for demo only */
.divClass {
  background: green;
  color: white;
  height: 100px;
  width: 100px;
}

.svg-fill-color {
  background: red;
  /* Add fill here */
}
let clickNumbers = 0;

jQuery('#divId').on("click", function() {
        clickNumbers++;

    if(clickNumbers % 2 == 0){
        jQuery('#divId').addClass('svg-fill-color');
    } else {
        jQuery('#divId').removeClass('svg-fill-color');
    }
});
您可以检查示例代码


如果有帮助,请告诉我

我忘了取下你的零件!欢迎使用Stack Overflow,虽然它没有考虑第一次单击的因素,但效果很好。非常感谢。