2012-03-07 79 views
0

有麻煩,與「刷新」開始我的網頁上的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

回答

1

如果你這樣做了測試,使用的console.log代替警報。你可以看一下所有的細節妮的JavaScript日誌(打F12在IE或者右鍵單擊頁面並選擇鍍鉻「檢查元素」/Safari瀏覽器)

0

我不知道如果選擇是正確的原因我沒有檢查它,但是當它是,您將獲得ID是這樣的:

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

alert(a); 
1

jQuery對象(的$()結果)不是數組或字符串。這是對象。

2

您遇到的問題是,您提供的選擇返回的jQuery對象的數組,而不是id的List。

嘗試,而不是:

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

JS Fiddle demo

參考文獻:

1

我想你使用jquery那裏。 $()返回一個「類似數組的對象」,所以你得到的輸出在那裏絕對正確!