JavaScript - 想知道如何添加 html 元素

标签 javascript html

所以我有这个代码:

var add, substract, multiply, divide;
var calculation = {
    add: {
        place: 2,
        name: add,
        calculation: function (a,b) {return a + b;},
        output: function (a,b) {return a + ' + ' + b;},
        buttonHTML: '+'
    },

    substract: {
        place: 2,
        name: substract,
        calculation: function (a,b) {return a - b;},
        output: function (a,b) {return a + ' - ' + b;},
        buttonHTML: '-'
    },

    multiply: {
        place: 1,
        name: multiply,
        calculation: function (a,b) {return a * b;},
        output: function (a,b) {return a + ' * ' + b;},
        buttonHTML: '*'
    },

    divide: {
        place: 1,
        name: divide,
        calculation: function (a,b) {return a / b;},
        output: function (a,b) {return a + ' / ' + b;},
        buttonHTML: '/'
    },
};
document.getElementById("calculator").innerHTML=('
for (var i = 0;i < 10; i++){
    var btn = document.createElement ("BUTTON");
    var t = document.createTextNode (i);
    btn.appendChild(t);

};');

在我的 html 文件中,脚本加载到 head 元素中。在正文中,我有一个名为计算器的 div 元素。现在我想做的是使用我的循环在该 div 元素内创建按钮。但我写的似乎不起作用,我也找不到更好的解决方案。有什么想法吗?

最佳答案

创建按钮的函数对我来说看起来不错。唯一的事情是:它不是一个函数,并且不会在任何地方执行。相反,它被作为字符串分配给 innerHTML。那是行不通的。相反,使用这个:

window.onload = function () {
    for (var i = 0;i < 10; i++){
        var btn = document.createElement ("BUTTON");
        var t = document.createTextNode (i);
        btn.appendChild(t);
        document.getElementById("calculator").appendChild(btn);
    } 
};

关于JavaScript - 想知道如何添加 html 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21798853/

相关文章:

javascript - JSON stringify 在从 Dreamweaver 预览时有效,但在创建应用程序时不能从 .AIR 文件预览

java - 在线运行.JSP文件

html - 溢出留下很多空白

javascript - 如何在单击汉堡菜单按钮时显示网格菜单项?

javascript - Bootstrap 下拉菜单 - 仅复选框选择而不选择文本

javascript - 窗口莫名检测到滚动

javascript - 检查 - 节点可以有 child 吗?

javascript - 如何忽略 prettier 中的 node_modules

javascript - 映射有条件改变的嵌套字段

html - 嵌入适合列宽和高度的响应式 Youtube 视频