Javascript错误地从字面上解析变量

Javascript is incorrectly parsing variable literally

本文关键字:变量 字面上 错误 Javascript      更新时间:2023-09-26

>我有一个函数,用于编辑特定元素的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()但这会返回错误。提前谢谢。

Javascript 对象文字语法仅支持文字键。如果需要可变键,则必须单独分配值:

var styles = {};
styles[prop] = stylesOld[selector][prop];