简体   繁体   English

通过JavaScript为一个div添加了两个按钮

[英]Added two buttons to one div via JavaScript

So, I have next code. 所以,我有下一个代码。

var form = [
    {
      type: 'button',
      label: 'Reset'
    },
    {
      type: 'button',
      label: 'Submit'
    }
  ];
for (var i = 0; i < form.length; i++) {
    var obj = form[i];
    var element = document.createElement("div");
    switch (obj.type) {
        case "button":
            var wrapHtml = document.createElement("div");
            var wrapHtmlAttr = document.createAttribute("class");
            wrapHtmlAttr.value = "buttons-group";
            wrapHtml.setAttributeNode(wrapHtmlAttr);
            var button = document.createElement('button');
            var textButton = document.createTextNode(obj.label);
            button.appendChild(textButton);
            wrapHtml.appendChild(button);
            element.appendChild(wrapHtml);

            break;
    }
    var div = document.getElementById("form");
    div.appendChild(element);
  }

Please, help to add these two buttons to one div buttons-group. 请帮助将这两个按钮添加到一个div按钮组。 May be I need to use closures? 可能是我需要使用闭包? I don't understand... Please, help. 我不明白......请帮助。

Example here 这里的例子

You've created 2 div.buttons-group in loop for. 你已经在循环中创建了2个div.buttons-group。 To add 2 buttons into one div just put 只需要将2个按钮添加到一个div中

var element = document.createElement("div"); 

out-side of loop. 循环的外侧。 For example: 例如:

var element = document.createElement("div");
var wrapHtmlAttr = document.createAttribute("class");
wrapHtmlAttr.value = "buttons-group";
element.setAttributeNode(wrapHtmlAttr);
for (var i = 0; i < form.length; i++) {
    var obj = form[i];
    switch (obj.type) {
        case "button":         
            var button = document.createElement('button');
            var textButton = document.createTextNode(obj.label);
            button.appendChild(textButton);
            element.appendChild(button);

            break;
    }
    var div = document.getElementById("form");
    div.appendChild(element);
  }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM