Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.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选择器时出现问题--无法识别的表达式_Javascript_Jquery_Svg_Jquery Selectors_Undo - Fatal编程技术网

使用JavaScript变量作为jQuery选择器时出现问题--无法识别的表达式

使用JavaScript变量作为jQuery选择器时出现问题--无法识别的表达式,javascript,jquery,svg,jquery-selectors,undo,Javascript,Jquery,Svg,Jquery Selectors,Undo,我试图使用JavaScript变量作为jQuery选择器来更改SVG路径的填充(实际上是“撤销”对它们所做的最新更改)。我能够正确访问上次修改的路径,以及它所填充的“颜色”,并且我已经用console.log()语句对此进行了双重检查 它们是: var path = Object.keys(allChanges[0]).shift(); var oldFill = Object.keys(allChanges[0]).map(function(key){ return allC

我试图使用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();
“路径”和“旧填充”是它们应该是什么。我在这里尝试将它们用作jQuery选择器:

$("'#"+path+"'").css('fill', "'"+oldFill+"'");
但我收到的错误信息是


“语法错误,无法识别的表达式:'#node27'”撇号有问题。你必须更新这个

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

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

你对撇号有问题。你必须更新这个

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

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

你的报价有问题。您的变量已经是字符串,因此不需要引用它们

试试这个:

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

你的报价有问题。您的变量已经是字符串,因此不需要引用它们

试试这个:

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

你的引语不是太多了吗?jquery选择器是一个字符串,但是您在这个字符串中加了引号。您的引号不是太多了吗?jquery选择器是一个字符串,但是您在这个字符串中加了引号啊,这很有效!但是你为什么不需要引用呢??如果我手工写出来的话,我需要在选择器和oldFill周围加上引号……它们是自动插入的吗?基本上是双引号。你不需要引号和撇号。”#node27'或“#node27”,但不是“#node27'”
“#”
path
都是字符串。把多余的撇号放进去,你是在做
$(“#foo”)
,而不是
$(“#foo”)
!但是你为什么不需要引用呢??如果我手工写出来的话,我需要在选择器和oldFill周围加上引号……它们是自动插入的吗?基本上是双引号。你不需要引号和撇号。”#node27'或“#node27”,但不是“#node27'”
“#”
path
都是字符串。把多余的撇号放进去,你是在做
$(“#foo”)
,而不是
$(“#foo”)
。哦!我没有意识到变量已经是字符串了。当我把它们记录下来的时候,它们看起来不像,所以我想我需要引用。哦!我没有意识到变量已经是字符串了。当我把它们记录下来时,它们看起来不像,所以我想我需要引用。