增量jquery变量

问题描述 投票:1回答:2

我有这个代码来创建具有不同id的变量,如下所示:

var numgrid = jQuery('.panel-grid').length;

if (jQuery("#pg-"+id+"-0")[0])
{   var os0 = jQuery("#pg-"+id+"-0").offset().top;
    var pg0 = jQuery("#pg-"+id+"-0").attr('id');   }   

if (jQuery("#pg-"+id+"-1")[0])
{   var os1 = jQuery("#pg-"+id+"-1").offset().top;
    var pg1 = jQuery("#pg-"+id+"-1").attr('id');   }        

if (jQuery("#pg-"+id+"-2")[0])
{   var os2 = jQuery("#pg-"+id+"-2").offset().top;
    var pg2 = jQuery("#pg-"+id+"-2").attr('id');   } 

if (jQuery("#pg-"+id+"-3")[0])
{   var os3 = jQuery("#pg-"+id+"-3").offset().top;
    var pg3 = jQuery("#pg-"+id+"-3").attr('id');   } 

if (jQuery("#pg-"+id+"-4")[0])
{   var os4 = jQuery("#pg-"+id+"-4").offset().top;
    var pg4 = jQuery("#pg-"+id+"-4").attr('id');   }

if (jQuery("#pg-"+id+"-5")[0])
{   var os5 = jQuery("#pg-"+id+"-5").offset().top;
    var pg5 = jQuery("#pg-"+id+"-5").attr('id');   }

if (jQuery("#pg-"+id+"-6")[0])
{   var os6 = jQuery("#pg-"+id+"-6").offset().top;
    var pg6 = jQuery("#pg-"+id+"-6").attr('id');   }

if (jQuery("#pg-"+id+"-7")[0])
{   var os7 = jQuery("#pg-"+id+"-7").offset().top;
    var pg7 = jQuery("#pg-"+id+"-7").attr('id');   }

现在我想让这段代码更短,只创建存在类“.panel-grid”的相同数量的变量。我是jQuery的初学者。我希望有人可以帮我做一个循环来增加变量。

jquery loops increment
2个回答
0
投票

也许:

var os = [];
var pg = [];
for (var i = 0; i < 8; i++) {
  if (jQuery("#pg-"+id+"-"+i)[0]){
     os[i] = jQuery("#pg-"+id+"-"+i).offset().top;
     pg[i] = jQuery("#pg-"+id+"-"+i).attr('id');
  }
}

0
投票

而不是考虑创建动态变量如何创建数组?

var os = [];
for (var i = 0; i < yourVariableLength; ++i) {
    os[i] = // getting your variable values;
}
© www.soinside.com 2019 - 2024. All rights reserved.