Javascript 将变量分配给innerHTML
首先,我不太喜欢JavaScript。我想使用JavaScript动态地构建一个包含TD元素的HTML表。这是我的代码,它不能正常工作Javascript 将变量分配给innerHTML,javascript,html,dynamic,Javascript,Html,Dynamic,首先,我不太喜欢JavaScript。我想使用JavaScript动态地构建一个包含TD元素的HTML表。这是我的代码,它不能正常工作 <script type="text/javascript"> function changed(num){ a1=num; a2=num+1; a3=num+2; for(var i=1;i<=3;i++){ document.getElementById("boxA"+i).innerHTML
<script type="text/javascript">
function changed(num){
a1=num;
a2=num+1;
a3=num+2;
for(var i=1;i<=3;i++){
document.getElementById("boxA"+i).innerHTML=eval('a'+i);
}
}
</script>
函数已更改(num){
a1=num;
a2=num+1;
a3=num+2;
对于(var i=1;i,+
运算符在向其提供字符串
时将始终执行串联,而
的值始终为:
console.log('1' + 1);
// '11'
console.log(1 + '1');
// '11'
您必须将值
转换为数字
,才能执行加法:
<... onChange="changed(parseFloat(this.value));">
这里有一个简单的方法
function changed(n){
n = parseInt(n); // convert to integer
if (!n) { return; } // end execution if not found (if not a number)
for (var i = 1; i <= 3; i++) {
// Since there is no HTML, textContent is better
// eval is not needed (people often say eval is evil) ;)
// using the i to increment
document.getElementById('boxA' + i).textContent = n + i -1;
}
}
功能已更改(n){
n=parseInt(n);//转换为整数
if(!n){return;}//如果找不到则结束执行(如果不是数字)
对于(var i=1;i,您会得到什么错误?+1,令人惊讶的是,数字类型的输入值也是一个字符串。
function changed(num){
var a = {
1: num,
2: num + 1,
3: num + 2
};
for(var i=1;i<=3;i++){
document.getElementById("boxA"+i).innerHTML = a[i];
}
}
function changed(n){
n = parseInt(n); // convert to integer
if (!n) { return; } // end execution if not found (if not a number)
for (var i = 1; i <= 3; i++) {
// Since there is no HTML, textContent is better
// eval is not needed (people often say eval is evil) ;)
// using the i to increment
document.getElementById('boxA' + i).textContent = n + i -1;
}
}