Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Javascript中从类似数组的对象检索数据_Javascript_Jquery_Ruby On Rails_Arrays - Fatal编程技术网

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

在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

我是Javascript新手,正在努力解决以下问题: 我在控制器中使用了带有散列数组的Rails代码。我将数组传递给视图,并使用以下代码对其进行迭代:

<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类的页面上选择第一个对象,但并不真正从中检索数据。我将对问题进行编辑,使其更加明显。问题不在于检索元素或遍历它们,而在于检索每个元素的数据