8

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

    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>
4

2 回答 2

28

试试这个,

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()

现场演示

arr = $('#cover div').map(function(){
    return this.id;
});
于 2012-08-02T13:18:22.300 回答
2

javascript 数组有一个 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>
于 2012-08-02T13:20:47.027 回答