使用jquery向数组添加链接

发布于 2024-09-11 16:31:37 字数 316 浏览 2 评论 0原文

我试图遍历页面上的所有链接并使用 jquery 将它们添加到数组中,但我似乎不太正确。

我所拥有的是:

$(document).ready(function() {

var links = new Array();
var link;

for (link in $("a"))
{
links.push(link);
}

alert(links);

});

我得到的是一组数字(我认为页面上的每个链接都有一个),以及属性,事件等,例如“选择器”,“上下文”,...“onmouseover”等等。

我缺少什么?

I am trying to loop through all of the links on a page and add them to an array using jquery but I can't seem to get it quite right.

What I have is:

$(document).ready(function() {

var links = new Array();
var link;

for (link in $("a"))
{
links.push(link);
}

alert(links);

});

What I get is an array of numbers (I think one for each link on the page), and properties, events, etc. like 'selector', 'context', ... 'onmouseover' and so on.

What am I missing?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

天煞孤星 2024-09-18 16:31:37

当你执行 $('a') 时,你已经有了一个 jQuery 对象,它是一个类似数组的对象。

如果您想要一个实际的Array元素,可以使用$.makeArray()将其转换为Array

var array = $.makeArray( $('a') );

编辑: 如果您对为什么在 for/in 中得到这些意外结果感到好奇,请在您最喜欢的浏览器中启动开发人员工具,并将 jQuery 对象记录到控制台。您将看到您获得的所有(原型)属性。

console.log( $('a') );

When you do $('a') you already have a jQuery object, which is an array-like object.

If you want an actual Array of elements, you can convert it to an Array with $.makeArray().

var array = $.makeArray( $('a') );

EDIT: If you're curious about why you were getting those unexpected results in the for/in, fire up the developer tools in your favorite browser, and log a jQuery object to the console. You'll see all those (prototyped) properties you were getting.

console.log( $('a') );
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文