【发布时间】:2013-08-06 19:15:32
【问题描述】:
使用 jquery 和 jqvmap,我在美国地图中设置了多个州的颜色。例如,要将所有以“A”开头的状态都涂成红色,这样可以:
jQuery('#vmap').vectorMap('set', 'colors', {al: 'red'});
jQuery('#vmap').vectorMap('set', 'colors', {ak: 'red'});
jQuery('#vmap').vectorMap('set', 'colors', {az: 'red'});
jQuery('#vmap').vectorMap('set', 'colors', {ar: 'red'});
有没有办法让它更短?我想这样做:
var astates = ["al", "ak", "az", "ar"];
for (var i = 0; i < astates.length; ++i) {
jQuery('#vmap').vectorMap('set', 'colors', { 'astates[i]' : 'red'});
}
但这似乎不起作用。 谢谢
【问题讨论】:
-
不确定您发布问题时是否只是拼写错误,但我认为您的 astates 变量不应该用引号引起来。但是你是正确的,它需要是一个字符串......所以要么转义那些引号,要么做丑陋的旧 '''+astates[i]+''' 你的循环看起来应该可以正常工作。
-
查看这个 SO 问题:stackoverflow.com/questions/15510913/…