-1

我无法确定哪组引号适合加载下面的图像。#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 %>
});

我目前得到的错误是:can't convert String into Integer

4

1 回答 1

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 不知道如何使用它,因此会引发错误。

于 2013-05-13T20:33:15.623 回答