gha*_*hel 2 javascript variables jquery dynamic
我需要在循环中动态创建变量,但我不知道如何.我已经阅读了有关使用的信息,eval();但我发现它只是动态地改变变量中的值.
我需要这样的东西:
$(e).find('unidadeid').each(function () {
countUnidades++;
var Unidade[value inside countUnidades here] = $(this).text();
});
Run Code Online (Sandbox Code Playgroud)
请清楚你的步骤.我不是要求解决方案,而是要求帮助,作为一种学习方式.谢谢 ;)
您有两种选择:
使用数组:
var unidades = [];
$(e).find('unidadeid').each(function () {
unidades.push($(this).text());
});
Run Code Online (Sandbox Code Playgroud)
要么
var unidades = $(e).find('unidadeid').map(function () {
return $(this).text();
}).get();
Run Code Online (Sandbox Code Playgroud)如果您确实想要的名称不仅仅是数字,请使用对象和括号表示法:
var unidades = {}, countUnidades = 0;
$(e).find('unidadeid').each(function () {
countUnidades++
unidades['Unidade' + countUnidades] = $(this).text();
});
Run Code Online (Sandbox Code Playgroud)
创建对象,unidades,具有相似特性Unidade0,Unidade1等等.注意,each接收索引,所以你不需要countUnidades,除非你想要别的东西:
var unidades = {};
$(e).find('unidadeid').each(function (index) {
unidades['Unidade' + index] = $(this).text();
});
Run Code Online (Sandbox Code Playgroud)你总是可以使用数组:
var Unidade = [],
countUnidades = 0;
$(e).find("unidadeid").each(function(i) {
Unidade[countUnidades++] = $(this).text();
// ... or Unidade.push($(this).text());
// ... or Unidade[i] = $(this).text();
});
Run Code Online (Sandbox Code Playgroud)
不要忘记DOM元素应始终具有唯一 ID,因此each这里不需要迭代,如果unidadeid引用某个元素的ID.