$.makeArray
返回一個原生JavaScript陣列,而不是一個jQuery對象。原生JavaScript數組沒有像.attr()
這樣的jQuery方法。這開始有意義嗎?
傳遞videoLinks
到$.makeArray
根本沒有任何意義,因爲你要麼傳遞函數videoLinks
,或者功能本地videoLinks
這是已經一個jQuery對象。所以,我認爲這是沿着你想要做什麼線條更:
function videoLinks() {
$("a[id^=a_l_]").each(function() {
console.log(this.href);
});
}
這將記錄每一個<a>
元素的href
屬性與id
與'a_l_'
開始。也許你想要建立一組這樣的屬性,而不是記錄它們。然後你會使用.map()
和.get()
:
function videoLinks() {
var hrefs = $("a[id^=a_l_]").map(function() {
return this.href;
}).get(); // ← note the .get() call
}
我的終極目標是返回一個鏈接隨機
然後你幾乎沒有。 Just get a random element from the hrefs
array:
function videoLinks() {
var hrefs = $("a[id^=a_l_]").map(function() {
return this.href;
}).get(); // ← note the .get() call
var randHref = hrefs[Math.floor(Math.random() * hrefs.length)];
console.log(randHref);
}
哇這麼簡單:)嗯,這正是我想要的目的。非常感謝你。 – 2012-04-17 01:13:53
好的我的最終目標是隨機返回一個鏈接 – 2012-04-17 01:16:16
現在,你爲什麼不首先這麼說? ':)'編輯。 – 2012-04-17 01:19:49