具有特定类名的所有元素的Javascript数组

时间:2011-11-02 23:42:32

标签: javascript jquery arrays functional-programming

我正在尝试使用我的网页中某个类的元素创建一个数组。该数组应该使用类videoLink从所有标签中获取videofile属性值。

数组中的最终值应为。

 cycling_large, ocean_medium, winecountry_part1



 <a class="videoLink"  videofile="cycling_large"  ></a>
 <a class="videoLink" videofile="ocean_medium" ></a>
 <a class="videoLink" videofile="winecountry_part1" ></a>

我尝试了这个,但是没有用。

var values = $('.videoLink').map(function() { return this.attr('videofile'); }).get();

提前致谢。

3 个答案:

答案 0 :(得分:5)

var links = document.getElementsByClassName("videoLink");
var values = [].map.call(links, function (el) {
  return el.getAttribute("videofile");
});

因为你没有jQuery来处理简单的事情。

浏览器支持:

答案 1 :(得分:1)

return this.attr('videofile');更改为return $(this).attr('videofile');。 您需要将this括在$()中,以便它成为一个jQuery对象,然后您可以调用attr()

示例:http://jsfiddle.net/r9xJn/

答案 2 :(得分:0)

var result = $.map($('a.videoLink'), function(a) {
   return $(a).attr('videofile');
});

工作示例:http://jsfiddle.net/hY6zM/