Javascript .css()方法中的字符串变量不';好像不行

Javascript .css()方法中的字符串变量不';好像不行,javascript,jquery,css,Javascript,Jquery,Css,我是新手,所以这可能比我想象的要简单,但我对这个问题感到困惑 我可以在.css()中使用数字变量,没有问题,但是字符串似乎不起作用。在测试时,它根本不会做任何事情。还有别的办法吗 var align=“center”; $this.css({'background-position':align+''+-bgY+'px'}) 简化了,但这就是我正在做的align是所讨论的变量,它实际上可以作为一个参数,您可以在其他地方设置,而不仅仅是在那里键入center左右。我已检查,尝试时align变量本

我是新手,所以这可能比我想象的要简单,但我对这个问题感到困惑

我可以在.css()中使用数字变量,没有问题,但是字符串似乎不起作用。在测试时,它根本不会做任何事情。还有别的办法吗

var align=“center”;
$this.css({'background-position':align+''+-bgY+'px'})

简化了,但这就是我正在做的align是所讨论的变量,它实际上可以作为一个参数,您可以在其他地方设置,而不仅仅是在那里键入center左右。我已检查,尝试时align变量本身是正确的值。

您可以尝试格式化字符串:

var align = "center";
$this.css({'background-position': `${align}`});

基本上,你用“`在字符串中的花括号中写的所有东西都是js代码。

你能发布你的完整代码和HTML以便我们能提供进一步帮助吗?假设你有一个
bgY
变量,该代码看起来适合设置(例如)
center 123px
。请使用演示问题的示例更新您的问题,最好是使用堆栈片段(
[]
工具栏按钮;)运行的问题。css未应用,或未按预期工作?鉴于问题的详细信息,它应按预期工作。请检查$this是否具有正确的值,因为您可能将样式应用于不同的元素。@T.J.Crowder请查看上面发布的JSFIDLE,它与我的答案相同。你能和这个家伙谈谈你对我说的话吗?这会完全降低第二个值。仅仅将字符串串联替换为模板文本并没有任何作用(除了限制浏览器的工作范围——遗憾的是,IE11仍然很重要)。(不是我的反对票)它(对我)更具可读性,但基本上没有回答OP的问题。他们的字符串连接似乎很好,所以这不是问题。作为模板文本更可读,除非你不是在传输代码,并且需要对旧IE浏览器的支持。