获取值了一个数组,并为每个值的变量

问题描述:

我有这个网站:获取值了一个数组,并为每个值的变量

<div id="h101" data-stellar-ratio="6"><img src="images/h1_01.png" width="600"></div> 
<div id="cloud01" data-stellar-ratio="0.5"><img src="images/cloud_01-s.png"></div> 
<div id="cloud02" data-stellar-ratio="0.4"><img src="images/cloud_01-s.png"></div> 
<div id="island01" data-stellar-ratio="2"><img src="images/island_01.png" width="620"></div> 

我从创建阵列中的所有ID的

$(".section > div").each(function() { 
ellementArray.push($(this).attr("id"));}); 

现在我已经在所有的值我的ellementArray。 我想要做的是创造这样的:

var h101Left = $("#h101").position().left; 
var cloud01Left = $("#cloud01").position().left; 
var island02Left = $("#island02").position().left; 
var island03Left = $("#island03").position().left; 

我在想这样的事情...

for (var i = 0; i < ellementArray.length; i++){ 
     jQuery.globalEval("var ellementArray[i] = ellementArray[i];") 
     console.log(ellementArray[i]); 
    } 

有人可以请帮助?

你太过于复杂了。刚创建的字符串的地图(元素ID)与数(位置左值):

var leftPositions = {}; 
$(".section > div").each(function() 
{ 
    leftPositions[this.id] = $(this).position().left; 
}); 

顺便说一句,如果你还需要所有的ID数组,使用.map()代替.each(),和this.id instead of $(this).attr('id')

var elementArray = $(".section > div").map(function() 
{ 
    return this.id 
}).get(); 
+0

好的解决方案,但然后我的输出将是:h101 = 200;我需要的是h101left = 200 ... – user1603310 2012-08-16 13:38:44

+0

好吧,把leftPositions [this.id]改成leftPositions [this.id +'left']'。不是火箭科学。 – 2012-08-16 13:39:55