我试图使用JavaScript变量作为jQuery选择器来更改SVG路径的填充(确实是“撤消”对它们所做的最新更改)。我能够正确地访问最后一个被修改的路径,以及它填充的“颜色”,并且我已经使用console.log()语句仔细检查了这一点。

他们是:

  var path = Object.keys(allChanges[0]).shift();

  var oldFill = Object.keys(allChanges[0]).map(function(key){
    return allChanges[0][key];
  }).shift();


“ path”和“ oldFill”是应该的。我试图在这里将它们用作jQuery选择器:

$("'#"+path+"'").css('fill', "'"+oldFill+"'");


但是我收到错误消息说


  “语法错误,无法识别的表达式:'#node27'”

它们都在我的svg元素中具有ID。

有人知道我在哪里出问题了吗?我看了一百万遍了!

最佳答案

您有撇号的问题。您将不得不更新此

$("'#"+path+"'").css('fill', "'"+oldFill+"'");


有了这个

$("#"+path).css('fill', oldFill);

09-20 05:09