2012-08-02 131 views
7

如何將數據存儲在循環中的數組中?如何將數據存儲在循環中的數組jQuery

var images; 
    var i = 0; 

    $('#cover div').each(function() 
    { 
     alert($(this).attr('id')); 
     //I should store id in an array 
    }); 


    <div id="cover"> 
     <div id="slider_1"><p class="content">SLIDER ONE</p></div> 
     <div id="slider_2"><p class="content">SLIDER TWO</p></div> 
     <div id="slider_3"><p class="content">SLIDER THREE</p></div> 
    </div> 

回答

23

試試這個,其他

var arr = []; 
i = 0; 
$('#cover div').each(function() 
{ 
     alert($(this).attr('id')); 
     arr[i++] = $(this).attr('id'); 
     //I should store id in an array 
}); 

途徑使用JavaScript對象,而不是jQuery的用於提高性能越來越ID。

var arr = []; 
i = 0; 
$('#cover div').each(function() 
{ 
     arr[i++] = this.id; 
}); 

編輯您還可以使用jQuery map()

Live Demo

arr = $('#cover div').map(function(){ 
    return this.id; 
}); 
+0

打我它也是:/+1 – 2012-08-02 13:18:50

+0

遲到5秒鐘:'( – Sourav 2012-08-02 13:19:17

+3

爲什麼不只是把它推到陣列上而不是用計數器浪費時間?或者使用'.each'回調函數的index參數。 – Blazemonger 2012-08-02 13:19:38

2

JavaScript數組有一個方法推致發光(EL)是這樣的:

var images; 
var i = 0; 

$('#cover div').each(function() 
{ 
    alert($(this).attr('id')); 
    images.push($(this).attr('id')); 
}); 

<div id="cover"> 
    <div id="slider_1"><p class="content">SLIDER ONE</p></div> 
    <div id="slider_2"><p class="content">SLIDER TWO</p></div> 
    <div id="slider_3"><p class="content">SLIDER THREE</p></div> 
</div> 
+0

太慢:(... – Jaro 2012-08-02 13:21:40

+0

我會保持這個心態。 – BentCoder 2012-08-02 13:32:40

相關問題