javascript - 为什么这个变量在 JQuery 中不能正确传递

标签 javascript jquery variables

我有一个简单的 JQuery 语句...我的问题是,为什么其中一个会失败?

假设变量 colorAttributecolor

    $(thisCLass).css( "color", '#'+hex ); // Works when written
    $(thisCLass).css( colorAttribute, '#'+hex ); // Works with variable

    $(thisCLass).css({ "color" : '#'+hex }); // Works when written  
    $(thisCLass).css({ colorAttribute : '#'+hex }); // Does not Work with variable

关于失败原因的任何想法?

最佳答案

那是因为您不能使用变量来指定对象字面量中的名称。

对象字面量中的标识符可以带引号也可以不带引号,因此在任何一种情况下都不会被解释为变量。该对象将以您指定的标识符结尾:

{ "colorAttribute" : '#'+hex }

您可以使用变量来设置对象中的属性,但是您必须先创建对象并使用括号语法:

var obj = {};
obj[colorAttribute] = '#'+hex;
$(thisCLass).css(obj);

关于javascript - 为什么这个变量在 JQuery 中不能正确传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21840336/

相关文章:

javascript - 通过 RegEx 检查字符串是否仅包含斜线

javascript - 获取包含属性的开始标记 - 没有 innerHTML 的 outerHTML

javascript - 从特定 div 传递时更改颜色 Navigation Div

PHP函数使用外部变量

python - 在 Python Selenium 的 xpath 中使用变量

c - 打印存储在变量中的值和直接使用 printf() 打印值时的输出差异

javascript - jQuery - 查找是否在未显式引用其 id 的情况下检查子输入元素?

javascript - 使用 Ramda/LoDash/Underscore 对嵌套属性进行分组和唯一计数

javascript - 文章和视频的“数据库”,无法访问服务器端脚本

javascript - 无法从 JavaScript 函数返回对象的值