2012-08-03 114 views
0

我正在研究代码,也许我的方法在“for”循环内工作是错误的。下面是它:jQuery动态命名变量

for(var index = 0; index < $('div.parent').find('div.child').length; index++){ 
    var element[index] = $('div.parent').find('div.child').eq(index); 
    // some code 
} 

的代码应该是这样的:

for(var index = 0; index < $('div.parent').find('div.child').length; index++){ 
    var element1 = $('div.parent').find('div.child').eq(1); 
    // some code with element1 
    var element2 = $('div.parent').find('div.child').eq(2); 
    // some code with element2 
} 

感谢您的任何建议。

+2

什么是你的问题或问题?你发布了两个不同的代码,这两个代码效率非常低,可以做不同的事情。 – jfriend00 2012-08-03 06:52:18

+0

你为什么试图收集这样的元素? jQuery对象可能更有用。 – nbrooks 2012-08-03 06:55:12

+0

我不是一个编码员,我问是否可能。我不知道你为什么必须投下我的问题。 – thednp 2012-08-03 06:56:07

回答

1

您不能动态创建某个特定名称的变量。您将需要使用数组:

var elements = []; 
var children = $('div.parent').find('div.child'); 
for(var index = 0; index < children.length; index++){ 
    elements.push(children.eq(index)); 
    // some code 
} 

//reference by: 
elements[0]; 
elements[1]; 
// etc. 

或者也可以简单使用jQuery:

var elements = $('div.parent').find('div.child').toArray(); 
+0

感谢您的回复。我希望你没有投下我的问题,我只是不是一个编码员,我希望你的回复能帮助其他人。我会试一试。 – thednp 2012-08-03 07:04:14

+0

没问题,如果你没有太多经验,这是一个公平的问题。试一试,让我知道你有什么不明白的地方,很乐意帮忙。 – nbrooks 2012-08-03 07:10:13

+0

那太好了。我主要做一些简单的事情,只是学习循环和东西。所以我相信这一切都会奏效,就像你一直在处理这些惊人的人物时一样。 – thednp 2012-08-03 07:13:47