我无法弄清楚哪组引号适合于下面的图片加载。 #icon + i部分可以正常工作,因为我放入了一个样本图像来追加并引用了正确的div。但是我无法弄清楚如何在src中加载适当的图像。
$(document).ready(function(){
alert('test');
<% if @iosapps %>
for (var i =0; i < <%= @iosapps.length %>; i++) {
$('#icon' + i).append('<img src = "<%= @iosapps['+i+'].app_store_icon %>">');
}
<% end %>
});
我目前得到的错误是:无法将String转换为Integer
答案 0 :(得分:0)
你应该循环使用ruby,而不是javascript。你不能自由地混合这两个。一个在服务器上执行,另一个在客户端的浏览器中执行。了解哪个做了什么很重要。
此代码段应该做您想要的(或多或少)。
$(document).ready(function(){
alert('test');
<% if @iosapps %>
<% @iosapps.each_with_index do |ia, idx| %>
$('#icon<%= idx %>').append('<img src="<%= ia %>.app_store_icon ">');
<% end %>
<% end %>
});
哦,你得到的错误:
@iosapps['+i+']
传递字符串"+i+"
作为数组的索引。 Array不知道如何使用它,因此会引发错误。