在Javascript中从类似数组的对象中检索数据

时间:2015-10-01 17:01:42

标签: javascript jquery ruby-on-rails arrays

我是Javascript的新手并且正在努力解决以下问题: 我在控制器中有一个哈希数组的哈希代码。我将数组传递给视图并使用以下代码迭代它:

tabBarItem.image = [[UIImage imageNamed:@"blah.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

我们的想法是找到所有元素" element_name" class,遍历它们并检索数据。但是,这似乎不起作用。我可以检索具有所需类名的所有元素,遍历它们,但不从每个元素检索x的数据。

注意:问题不在于以类数组对象的形式获取元素或迭代它们,而是检索每个元素的数据。具体来说,我需要检索x属性的数据。

我在我的JS文件中尝试了以下内容:

<div id="coordinates">
  <%- @points.each_with_index do |point, index| %>
    <%= "The additional point number #{index+1} found for the parabola has the following co-ordinates: #{point}"%>
    <%= content_tag :div, '', class: "element_name", data: {x: point.each_key.first} do %>
    <% end %>
    <br>
  <% end %>
</div>

我得到的错误是&#34; Uncaught TypeError:[index] .data不是函数&#34;。

是否还有其他方法可以从类似数组的对象(HTML集合)的每个元素中检索数据?

我仍然是Javascript和编程的新手,如果它是一件我想念的简单的道歉,我会道歉。

1 个答案:

答案 0 :(得分:0)

那是因为a[index]不是元素的jQuery实例,所以它没有data()函数。您可以尝试$(a[index]).data('x')