var elements = [];
$('a[rel="array"]').each(function() {
elements[this.id] = $(this).attr('url');
});
请注意,这将创建一个稀疏阵列仅由元素ID,这没有多大意义,我指定的索引值,但是这就是你问什么。它真的没有意义,如果任何ID可以是非数字 - 如果是这样,你应该使用一个对象,而不是一个数组,即:
var elements = {};
“我把每个URL作为值只是去使用一些东西,但是有了这些ID就足够了。“
如果你的目的是要获得一个ID数组,那么你可以这样做:
var elementIds = [];
$('a[rel="array"]').each(function() {
elementIds.push(this.id);
});
这将创建数组['2', '5', '8']
其中标识的顺序,它们出现在HTML源中。
但是,只是说$('a[rel="array"]')
为您提供了一个jQuery对象,它是一个类似于数组的结构,它包含所有匹配的元素 - 这就是为什么我们可以使用.each()
方法遍历每个元素。所以有可能你真正想做的事情可以直接用jQuery来完成,而不是设置你自己的数组。
你使用jQuery或类似的东西? – Niko 2012-03-17 21:45:28