如何在循环jQuery中将数据存储在数组中

时间:2012-08-02 13:16:26

标签: javascript 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>

2 个答案:

答案 0 :(得分:26)

试试这个,

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;
});

答案 1 :(得分:2)

javascript Arrays有一个像这样的方法push(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>