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