JavaScript:获取数组中的颜色对象
我试图只从数组中获取颜色值,并设置必要的css类JavaScript:获取数组中的颜色对象,javascript,jquery,arrays,Javascript,Jquery,Arrays,我试图只从数组中获取颜色值,并设置必要的css类 $(document).ready(function() { $('.kalendar').kalendar({ events: [ { title:"National Holiday", start: { date: 20140815, time: "12
$(document).ready(function() {
$('.kalendar').kalendar({
events: [
{
title:"National Holiday",
start: {
date: 20140815,
time: "12.00"
},
end: {
date: "20140815",
time: "12.00"
},
color: "red"
},
{
title:"State Holiday",
start: {
date: 20140818,
time: "12.00"
},
end: {
date: "20140818",
time: "12.00"
},
color: "blue"
}
]
});
});
现在,当我尝试这个代码时,它们最终都是蓝色的。我做错了什么
for (var j = 0; j < this.options.events.length; j++) {
var thiscolor = this.options.events[j];
if (thiscolor.color == 'red') {
$day.addClass('red-events');
} else if (thiscolor.color == 'blue') {
$day.addClass('blue-events');
}
}
for(var j=0;j
嗯,您正在迭代this.oprions.events
中的所有元素,由于最后一个元素的颜色为蓝色:“blue”
,else if(thiscolor.color=='blue')
最终将为true,$day
中的所有元素都将分配该类。基本上,整个for
循环相当于$day.addClass('red-events-blue events')代码>。由于您没有解释您试图实现的目标,以及$day
是什么,而且您没有提供完整的示例,因此我们无法真正提出解决方案。@FelixKling,$day
是$day=$('')代码>我试图做的是比较循环中的颜色字符串,如果它匹配,为特定事件设置必要的css类。但是为什么要循环呢?您已经知道第一个元素的颜色是红色,第二个元素的颜色是蓝色。这两个元素将在某个点上匹配。在第一次迭代中,thiscolor.color=='red'
为真,在第二次迭代中,thiscolor.color=='blue'
为真。我不明白你想在这里匹配什么。我已经解释了为什么你得到了你得到的。我不知道解决方案,因为我不知道期望的结果是什么。对于(I=0;I