我想你想建立一个名为MOSTRA 我 89种功能。你可以这样实现它:
for (let i = 1; i < 90; i++) { // <- the let is very important
window["mostra" + i]=function() { // <- assign the function to mostra*i*
document.getElementById("form"+i).style.display="block";
document.getElementById("texto"+i).style.display="none";
};
}
<button onclick="mostra1()">Test it!</button>
<div id="form1" style="display:none">Will show</div>
<div id="texto1">Will hide</div>
然而,它非常非常不好的风格。你可能只是把它传递:
function mostra(i){//one function instead of 89
document.getElementById("form"+i).style.display="block";
document.getElementById("texto"+i).style.display="none";
}
所以,你可以这样做:
mostra(1);//instead of mostra1()
或者在HTML:
<button onclick="mostra(1)" >show first</button>
你能解释一下你想达到什么目的吗? – Rajesh
window [“mostra”+ i] = function(){...} << - 非常非常糟糕的风格 –
解释你的代码或要求 – Harshal