$.makeArray
返回原生 JavaScript 数组,而不是 jQuery 对象。本机 JavaScript 数组没有 jQuery 方法,如.attr()
. 这开始有意义了吗?
简单地传递videoLinks
给$.makeArray
没有意义,因为你要么传递 function ,要么传递已经是jQuery 对象videoLinks
的 function-local 。所以,我认为这更符合你想要做的事情:videoLinks
function videoLinks() {
$("a[id^=a_l_]").each(function() {
console.log(this.href);
});
}
这将记录每个以开头的元素的href
属性。也许相反,您想构建这些属性的数组而不是记录它们。然后你会使用and :<a>
id
'a_l_'
href
.map()
.get()
function videoLinks() {
var hrefs = $("a[id^=a_l_]").map(function() {
return this.href;
}).get(); // ← note the .get() call
}
我的最终目标是随机返回其中一个链接
然后你就快到了。只需从hrefs
数组中获取一个随机元素:
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);
}