Javascript 未定义的jQuery对象,当它应该

Javascript 未定义的jQuery对象,当它应该,javascript,jquery,arrays,Javascript,Jquery,Arrays,我正在尝试使用jQuery更改背景的颜色。我已经用颜色名称和它们的值创建了一个数组 如果我这样做 console.log(colorValue); 当我这样做时,我得到了我想要用来查找相应颜色的类名 console.log(colorArr.colorValue); 我得到了一个未定义的 console.log(colorArr.red); 我得到了相应的颜色: function colorChange(){ $('div.colorpicker ul li a').on('cli

我正在尝试使用jQuery更改背景的颜色。我已经用颜色名称和它们的值创建了一个数组

如果我这样做

console.log(colorValue);
当我这样做时,我得到了我想要用来查找相应颜色的类名

console.log(colorArr.colorValue);
我得到了一个未定义的

console.log(colorArr.red);
我得到了相应的颜色:

function colorChange(){
    $('div.colorpicker ul li a').on('click', function() {
        var colorArr = {'greenyellow': '#d2db46', 'lightgreen': '#8dc13f', 'darkgreen': '#56a174', 'blauw' : '#3199d1', 'darkblue':'#326b9b', 'darkpurple':'#584586' , 'purple':'#985494', 'red':'#ca4538', 'orange' : '#e27a37', 'darkyellow': '#f8c040', 'lightyellow': '#e4de42'};
        var changeBackground = $('div.header_blue, div.reactie, section#adres, section#referenties_single div.pager');
        var changeColor = $('section#tevredenklanten h1, section#referenties_single h2.klant, section#referenties_single .wat_gedaan h2');
        var colorValue = $(this).attr('class');
        console.log(colorValue);
        //console.log(colorArr);
        console.log(colorArr.colorValue);
        //console.log(colorArr.red);
        changeBackground.animate({backgroundColor:colorArr.colorValue}, 600);
    });
}
有人知道我必须做什么吗?

因为colorValue不是对象键,但它包含要查找的键,所以需要使用[]符号而不是。符号

当您说colorArr.colorValue时,它在对象colorArr中查找名为colorValue的键,但该键不存在,因此它返回未定义的

,因为colorValue不是对象键,但它包含要查找的键。您需要使用[]符号而不是。符号


当您说colorArr.colorValue时,它会在对象colorArr中查找一个名为colorValue的键,但该键不存在。因此,当属性名称存储在另一个变量中时,它会返回未定义的

使用括号表示法访问您的对象:

colorArr[ colorValue ]

当使用点表示法时,JavaScript搜索一个名为colorValue的属性,该属性不存在,因此返回未定义的属性。

当属性名存储在另一个变量中时,使用括号表示法访问对象:

colorArr[ colorValue ]
当使用点表示法时,JavaScript搜索一个名为colorValue的属性,该属性不存在,因此返回未定义的属性。

请尝试下面的代码

colorArr[ colorValue ]
我们可以通过传递键来访问对象值

colorArr["greenyellow"]= it yields the corresponding result.
试试下面的代码

colorArr[ colorValue ]
我们可以通过传递键来访问对象值

colorArr["greenyellow"]= it yields the corresponding result.

colorArr没有属性colorValue,因此未定义。您可能想尝试colorArr[colorValue]。的可能副本必须记住,对于任何JavaScript问题,该副本都是一个很好的副本colorArr没有属性colorValue,因此未定义。您可能想尝试colorArr[colorValue]。的可能副本必须记住,对于任何JavaScript问题,该副本都是一个很好的副本