我试图使用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);