使用jquery向数组添加链接
我试图遍历页面上的所有链接并使用 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
当你执行
$('a')
时,你已经有了一个 jQuery 对象,它是一个类似数组的对象。如果您想要一个实际的
Array
元素,可以使用$.makeArray()
将其转换为Array
。编辑: 如果您对为什么在
for/in
中得到这些意外结果感到好奇,请在您最喜欢的浏览器中启动开发人员工具,并将 jQuery 对象记录到控制台。您将看到您获得的所有(原型)属性。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 anArray
with$.makeArray()
.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.