Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在循环jQuery中以数组形式存储数据_Javascript_Jquery - Fatal编程技术网

Javascript 如何在循环jQuery中以数组形式存储数据

Javascript 如何在循环jQuery中以数组形式存储数据,javascript,jquery,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="co

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

    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>
var图像;
var i=0;
$(#cover div')。每个(函数()
{
警报($(this.attr('id'));
//我应该将id存储在数组中
});

滑块一

滑块二

滑块三

试试这个

var arr = [];
i = 0;
$('#cover div').each(function()
{
        alert($(this).attr('id'));
        arr[i++] = $(this).attr('id');
        //I should store id in an array
});
另一种获取id的方法是使用javascript对象而不是jquery来提高性能

var arr = [];
i = 0;
$('#cover div').each(function()
{
      arr[i++] = this.id;
});
编辑您也可以使用jQuery

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

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>
var图像;
var i=0;
$(#cover div')。每个(函数()
{
警报($(this.attr('id'));
images.push($(this.attr('id'));
});

滑块一

滑块二

滑块三


为什么不干脆
将它推到阵列上,而不是在计数器上浪费时间?或者对
。每个
回调函数使用index参数。不使用
arr.push($(this.attr('id'))
的原因是什么。。。晚了4秒,哈哈。@Benno:Push比不使用jQuery的代码样本慢,请参阅我创建的性能测试:但是,Push似乎比使用jQuery选择id的第一个代码样本快。同样,在这种情况下,请使用第二个代码样本。感谢您告诉@François Wahl,事实上,javascript通常比jquery具有更高的性能,但在这种情况下并非如此。第一个javascript最快的原因是因为您没有运行
$.attr
调用。