我有两个水平和垂直对齐变量,如xPos
和yPos
,它会在css中将值指定为0,如下所示:
var xPos="left",
yPos="bottom";
$(".applyCss").css({
"width":"200px",
"height":"200px",
"position":"absolute",
"background-color":"#E0E0E0",
[xPos]:0,
[yPos]:0
});
除IE之外,此逻辑工作正常。它显示
Expected identifier, string or number
我在StackOverflow中提到了很多问题,我得到的答案是“Internet Explorer在对象和数组中使用尾随逗号有麻烦”。但我没有得到任何解决这个问题的方法
以下是jsFiddle
(注意:我解决了这个问题,但我想知道这个方法的解决方案)
答案 0 :(得分:1)
该对象文字括号语法是ES6的新功能(也称为ES2015)。它可以在Firefox,Chrome和Edge等现代浏览器中运行,但IE几乎无法达到ES5标准。
使用Babel获取浏览器兼容性,或使用旧的可信任语法:
var xPos="left",
yPos="bottom";
var myStyles = {
"width":"200px",
"height":"200px",
"position":"absolute",
"background-color":"#E0E0E0",
};
myStyles[xPos] = 0;
myStyles[yPos] = 0;
$(".applyCss").css(myStyles);