【发布时间】:2014-09-18 01:25:49
【问题描述】:
我正在构建一个 Rails 应用程序。我正在使用数据属性来获取 json。
<% @image_urls.each_slice(5) do |row| %>
<% row.each do |_, urls| %>
<li class="square-image" data-urls=<%= urls.to_json %>>
<span class="user-image"><%= image_tag(urls.sample) %></span>
</li>
<% end %>
<% end %>
使用这个 json,我试图通过循环遍历 json 中的不同 URL 每秒更新 src 属性。时机正在发挥作用。当我做第一张地图时,我成功地抓取了网址。
但是,当我执行嵌套映射时,我收到错误“Uncaught TypeError: undefined is not a function”。现在我没有更新 src 部分,因为我只是想抓住一个中的每个 url。
我尝试过的事情:
- 将地图更改为每个 = 不成功。
-
使用 $(url) 和 $(u) 的语法。
var time = setInterval(function(){updateImage()}, 1000); var square_urls = ($($(".square-image")[0]).data("urls")); function updateImage(){ square_urls.map(function(urls){ urls.map(function(u){ console.log(u); }); }); }
如果我不做第二张地图,我成功获得了网址。
第二张地图给了我错误:“Uncaught TypeError: undefined is not a function。”
【问题讨论】:
-
什么 JSON 被渲染到你的 data-urls 属性?
-
S3 存储桶中照片的 URL。
-
是的,但是 JSON 是什么样的?这是一个数组还是什么?
-
第二张地图背后的目的是什么?
-
第一个 map 循环每个正方形的图像,这导致一个正方形图像的多个 url 数组。第二张地图应该通过多个网址一次只抓取网址。
标签: javascript jquery json custom-data-attribute