在 JavaScript 中,我有一个for
片段来创建新的输入元素
for(var g = 0; g < psi.length; g++) {
var newtextLink+(g+1)= document.createElement('input');
//continue with setting attributes
}
我想把单词newtextLink
和 var放在一起,让每次执行g
都像这样……我怎样才能做到这一点?newtextLink2
for
在 JavaScript 中,我有一个for
片段来创建新的输入元素
for(var g = 0; g < psi.length; g++) {
var newtextLink+(g+1)= document.createElement('input');
//continue with setting attributes
}
我想把单词newtextLink
和 var放在一起,让每次执行g
都像这样……我怎样才能做到这一点?newtextLink2
for
这是您通常需要一个数组的地方:
var newtextLinks = [];
for(var g = 0; g < psi.length; g++)
{
newtextLinks[g] = document.createElement('input');
}
然后通过像这样的索引变量使用它们(newtextLink[g]
,,newtextLink[0]
等)。
或者,可能有一些地方(可能不是这里)你真的想要名字。你可以用一个对象来做到这一点:
var newtextLinks = {};
for(var g = 0; g < psi.length; g++)
{
newtextLinks["name" + (g+1)] = document.createElement('input');
}
现在你有newtextLinks.name1
, newtextLinks.name2
, 等等。
但出于这个目的,数组似乎是最好的。
如果你坚持使用变量,你可以使用window
对象来做到这一点:
window['newtextLink' + (g+1)] = document.createElement('input');
否则使用数组:
var newTextLinks = [];
...
newTextLinks[g] = document.createElement('input');
尝试
this['newtextLink' + (g + 1)] = ...;
function createVariables(){
var newtextLink= [];
for (var i = 0; i <= psi.length; ++i) {
newtextLink[i] = document.createElement('input');
}
return newtextLink;
}
你有 newtextLink[0] ... newtextLink[n]
你在这里有类似的问题: JavaScript:为循环动态创建变量