2010-07-28 141 views
7

在jQuery中,很容易將元素選擇爲數組。使用jQuery返回匹配元素的屬性ar數組

$(「a」); //返回作爲錨

的元件陣列,但是它可以選擇匹配元素屬性如數組?

目前我需要做的是這樣......

鏈接= [];

$( 「a」)的每一個(函數(){

href = $(this).attr("href"); 
links.push(href); 

})。

是否有更好的方法來與所有匹配錨的href填補了可變鏈接

回答

18

使用$ .MAP像這樣:

var links = $('a').map(function() { return this.href }).get() 
+2

+1 - 你需要在年底'獲得()',但這是正確的做法。 – 2010-07-28 16:37:44

+0

啊謝謝,我只是很快做了'[0]',並假定它是一個數組,當它實際上是一個jQuery構造的數組對象。 – 2010-07-28 16:40:45

+1

對於一個圖書館來說,這似乎有點冗長,目的似乎是掩蓋了程序員的這類體操。爲什麼不直接返回一個數組:var links = $('a')。attr('href');這不是更清潔,更可讀? (考慮這個我對jQuery下一次迭代的建議......) – 2013-03-14 17:53:26

5
var links = $("a").map(function(){return $(this).attr("href")}).get(); 
+0

這種方法對於像data-id,data-name等自定義''data''屬性非常適用。 – iiminov 2015-01-14 12:33:56

相關問題