2012-08-02 93 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

相关问题