Javascript将值发布到for循环中创建的多个标签中

时间:2016-11-17 02:05:23

标签: javascript

以下是我目前的代码;

<script>
function myFunction() {
    var number1 = document.getElementById("text").value;
    var number2 = document.getElementById("selector").value;
    var result = number1 / number2;
    var len = number2;
    for(var i = 0; i < len; i++)
    {
        var labelOutput = document.createElement("label");
        labelOutput.setAttribute("id", "label"+i);
        labelOutput.setAttribute("value", result);

        //Inserts after div tag
        //document.getElementById("results").insertAfter();
    }
}
</script>

我试图得到它,一旦它计算出结果,它将根据已经除以的长度/数量创建标签,例如,如果100/2 = 50,它将创建两个具有相同的标签值(此情况为50)但具有不同的id的label1和label2

2 个答案:

答案 0 :(得分:0)

虽然你原来的问题不是很明确,但你在评论中突破了头颅(重点是我的):

  

一旦通过按钮/运行点击该功能,它就不会生成标签,我不确定我是否需要追加标签后面的标签或者我是否遗漏了某些东西

在创建页面时,JavaScript不会自动将元素附加到页面,因此您必须自己执行此操作。

修改:正如您在问题评论中提到的StackOverflow用户Aaronius,您可以使用appendChild功能。

答案 1 :(得分:0)

<script>
function myFunction() {
    var number1 = document.getElementById("text").value;
    var number2 = document.getElementById("selector").value;
    var result = number1 / number2;
    var len = number2;
    for(var i = 0; i < len; i++)
    {
        var labelOutput = document.createElement("label");
        labelOutput.innerHTML = result;
        labelOutput.setAttribute("name", i + ".");
        labelOutput.setAttribute("id","lbl_"+i +"\n");

        document.body.appendChild(labelOutput);
    }
}
</script>

这就是我所追求的,感谢所有回答的人。