在Javascript中从类似数组的对象检索数据
我是Javascript新手,正在努力解决以下问题: 我在控制器中使用了带有散列数组的Rails代码。我将数组传递给视图,并使用以下代码对其进行迭代:在Javascript中从类似数组的对象检索数据,javascript,jquery,ruby-on-rails,arrays,Javascript,Jquery,Ruby On Rails,Arrays,我是Javascript新手,正在努力解决以下问题: 我在控制器中使用了带有散列数组的Rails代码。我将数组传递给视图,并使用以下代码对其进行迭代: <div id="coordinates"> <%- @points.each_with_index do |point, index| %> <%= "The additional point number #{index+1} found for the parabola has the follow
<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>
其思想是找到具有element_name类的所有元素,遍历它们并检索数据。然而,这似乎不起作用。我可以用所需的类名检索所有元素,对它们进行迭代,但不能从每个元素检索x的数据
注意:问题不在于以类似数组的对象的形式获取元素或对它们进行迭代,而在于检索每个元素的数据。具体来说,我需要检索x属性的数据
我在JS文件中尝试了以下操作:
var index;
var a = Array.prototype.slice.call($('.element_name'), 0)
for (index = 0; index < a.length; ++index) {
a[index].data('x'); }
我得到的错误是未捕获的TypeError:a[index]。数据不是函数
是否有其他方法可以从数组的每个元素(如对象HTML集合)检索该数据
我还是Javascript和编程的新手,如果我错过了一些简单的东西,我表示歉意。这是因为[index]不是元素的jQuery实例,那么它就没有数据函数。您可以尝试使用$a[index].data'x.为什么不使用$'.element\u name.first或$'.element\u name:first'嗯,这只是在具有element\u name类的页面上选择第一个对象,但并不真正从中检索数据。我将对问题进行编辑,使其更加明显。问题不在于检索元素或遍历它们,而在于检索每个元素的数据