使用特定ID标记创建DIV的Javascript数组

时间:2012-03-07 23:35:06

标签: javascript css arrays

无法在我的网页上获取以“刷新”开头的div的ID。

示例:我的页面上有3个div。

<div id='refresh5'></div>
<div id='refresh12'></div>
<div id='red'></div>

我正在尝试使用以“refresh”开头的div的javascript创建一个数组,尝试使用以下内容:

var arr = $('div[id^="refresh"]');
alert(arr);

但警报只显示[object object],而不是div id的????

感谢任何帮助。

5 个答案:

答案 0 :(得分:2)

你遇到的问题是你提供的选择器返回一个jQuery对象数组,而不是id的列表。

尝试改为:

var arr = $('div[id^="refresh"]').map(function(){ return this.id;}).get().join(',');
alert(arr);​

JS Fiddle demo

参考文献:

答案 1 :(得分:1)

jQuery对象($()的结果)不是Array或String。这是对象。

答案 2 :(得分:1)

我认为你在那里使用jquery。 $()返回一个“array-like-object”,所以你得到的输出绝对正确!

答案 3 :(得分:1)

如果您出于测试目的而执行此操作,请使用console.log而不是alert。您可以查看javascript日志中的所有详细信息(在IE中点击F12或右键单击页面并选择&#34;检查元素&#34;在chrome / safari中)

答案 4 :(得分:0)

我不知道选择器是否正确,因为我没有检查它,但是当它出现时,你会得到这样的ID:

//your code here...
var a = [];
arr.each(function() {
   a.push($(this).attr('id'));
});

alert(a);