javascript - 将变量分配给 innerHTML

标签 javascript html dynamic

首先,我不太精通 JavaScript。我想使用 JavaScript 动态构建一个包含内容的 HTML 表格 TD 元素。这是我无法正常工作的代码。

<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>

这是 HTML 代码:

<input type="text" name="box" onChange="changed(this.value);">

<table width="400" border="10" cellpadding="5">
<tr>
    <td id="boxA1">&nbsp;</td>
    <td id="boxA2">&nbsp;</td>
    <td id="boxA3">&nbsp;</td>
</tr>
</table>

如果我在输入框输入值1,那么后面的值应该是1,2,3

最佳答案

+String 时,运算符将始终执行连接给它,value<input>永远是:

console.log('1' + 1);
// '11'

console.log(1 + '1');
// '11'

您必须转换 valueNumber执行加法:

<... onChange="changed(parseFloat(this.value));">

您还应该考虑使用 ArrayObject收集相关值,尤其是那些需要迭代的值:

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];
    }
}

关于javascript - 将变量分配给 innerHTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23065383/

相关文章:

HTML 类名作为 LESS 变量的链接

html - CSS:没有明确宽度和自动换行的嵌套元素

jquery - 在 jQuery 中获取动态元素的状态

C# 无法将 lambda 表达式转换为类型 'dynamic',因为它不是委托(delegate)类型

javascript - 使用具有引用和匹配数组的变量

javascript - 有没有Slice()的反函数?

jquery - 使用动态表获取更改下拉列表的值

javascript - Node.js API 与 express 和 mysql - 获取记录计数、页码……并提供分页

javascript - 如何在三 Angular 形多维数组中填充数字?

使用 shared_ptr 的抽象基类的子类的 C++ == 运算符