我尝试使用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();
"路径"和#34; oldFill"是他们应该是什么。我试图在这里使用它们作为jQuery选择器:
$("'#"+path+"'").css('fill', "'"+oldFill+"'");
但是我收到错误消息
"语法错误,无法识别的表达式:'#node27'" < - #node27是我碰巧定位的路径。
他们在我的svg元素中都有id。
有谁知道我在哪里出错?!我已经看过这一百万次了!
答案 0 :(得分:3)
撇号有问题。你必须更新这个
$("'#"+path+"'").css('fill', "'"+oldFill+"'");
用这个
$("#"+path).css('fill', oldFill);
答案 1 :(得分:1)
您刚刚遇到引号问题。您的变量已经是字符串,因此您不需要引用它们。
试试这个:
$("#" + path).css('fill', oldFill);