2010-07-28 96 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

相关问题