我有一个用于编辑特定元素的CSS的函数。该元素通过JQuery选择,并存储从2D数组中检索的css值。但是,当我在代码中设置styles
时,prop
字面上只需"prop"
,而不是字符串值。在调试器中,我看到prop
确实具有有效的字符串值,但在设置styles
时却没有。我知道这可能是一个语法问题。
function foo(selector) {
var element = $(selector);
for (var prop in stylesOld[selector]) { //stylesOld is a 2D array using key / value pairs
if (stylesOld[selector].hasOwnProperty(prop)) {
// here lies the problem
var styles = { prop : stylesOld[selector][prop]};
element.css(styles);
}
}
}
我尝试过使用prop.toString()
,但这会返回错误。提前谢谢。
答案 0 :(得分:3)
Javascript对象文字语法仅支持文字键。如果需要变量键,则必须单独分配值:
var styles = {};
styles[prop] = stylesOld[selector][prop];