Jquery 查找具有特定字符串的所有id

Jquery 查找具有特定字符串的所有id,jquery,Jquery,我正在尝试获取页面上所有链接的href标记,并将它们放入一个数组中。我有以下代码,但是当我检查控制台时,我得到了错误uncaughttypeerror:Object没有方法“attr”,我不知道从这里可以走到哪里。有什么想法吗 代码 function videoLinks() { var videoLinks = $("a[id^=a_l_]").each(function() { var linkArray = jQuery.makeArray(videoLinks);

我正在尝试获取页面上所有链接的
href
标记,并将它们放入一个数组中。我有以下代码,但是当我检查控制台时,我得到了错误
uncaughttypeerror:Object没有方法“attr”
,我不知道从这里可以走到哪里。有什么想法吗

代码

function videoLinks() {
    var videoLinks = $("a[id^=a_l_]").each(function() {
        var linkArray = jQuery.makeArray(videoLinks);
        console.log(linkArray.attr("href"));
    });
}
返回本机JavaScript数组,而不是jQuery对象。本机JavaScript数组没有像
.attr()
这样的jQuery方法。这开始有意义了吗

videoLinks
传递给
$。makeArray
根本没有意义,因为您传递的不是
videoLinks
函数,就是已经是jQuery对象的本地
videoLinks
。所以,我认为这更符合你的意图:

function videoLinks() {
    $("a[id^=a_l_]").each(function() {
        console.log(this.href);
    });
}
这将记录每个
href
属性,并且:

我的最终目标是随机返回其中一个链接

那你就快到了

返回本机JavaScript数组,而不是jQuery对象。本机JavaScript数组没有像
.attr()
这样的jQuery方法。这开始有意义了吗

videoLinks
传递给
$。makeArray
根本没有意义,因为您传递的不是
videoLinks
函数,就是已经是jQuery对象的本地
videoLinks
。所以,我认为这更符合你的意图:

function videoLinks() {
    $("a[id^=a_l_]").each(function() {
        console.log(this.href);
    });
}
这将记录每个
href
属性,并且:

我的最终目标是随机返回其中一个链接

那你就快到了

这对我很有用。。(来自上面的“马特球”代码)

这对我很有用。。(来自上面的“马特球”代码)


哇,很简单:)这正是我想要达到的。非常感谢。好的,是的,我的最终目标是现在就返回其中一个链接,为什么你一开始不这么说<代码>:)
已编辑。哈哈,很抱歉,但你是专业人士!我有一些研究要做,再次感谢你所做的一切。哇,很简单:)这正是我想要实现的。非常感谢。好的,是的,我的最终目标是现在就返回其中一个链接,为什么你一开始不这么说<代码>:)
已编辑。哈哈,很抱歉,但你是专业人士!我有一些研究要做,再次感谢你所做的一切。
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);
}
$("a[id^=a_l_]").each(function() {
        console.log(this.value);
    });