创建DIV的的Javascript数组与特定的ID标签

问题描述:

有麻烦,与“刷新”开始我的网页上的div的ID。创建DIV的的Javascript数组与特定的ID标签

例如:我有我的网页上3个div的。

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

我试图创建一个使用与“刷新”开始的div的JavaScript的一个阵列,尝试使用以下:

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

但警报只显示我的翻译:,而不是div id的????

任何帮助表示赞赏。

+1

您可以尝试的console.log(ARR)看到的内容目的。你找回对象的原因是因为jQuery将返回一个jquery对象。其他人可以更好地解释它。 – Gohn67 2012-03-07 23:38:17

+0

您可能想要使用调试器(我建议使用chrome或firefox的开发人员工具)并设置断点,而不是使用警报进行调试。 – 2012-03-07 23:39:35

如果你这样做了测试,使用的console.log代替警报。你可以看一下所有的细节妮的JavaScript日志(打F12在IE或者右键单击页面并选择镀铬“检查元素”/Safari浏览器)

我不知道如果选择是正确的原因我没有检查它,但是当它是,您将获得ID是这样的:

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

alert(a); 

jQuery对象(的$()结果)不是数组或字符串。这是对象。

您遇到的问题是,您提供的选择返回的jQuery对象的数组,而不是id的List。

尝试,而不是:

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

JS Fiddle demo

参考文献:

我想你使用jquery那里。 $()返回一个“类似数组的对象”,所以你得到的输出在那里绝对正确!