Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   class - className, for - ? (https://javascript.ru/forum/dom-window/49921-class-classname.html)

Master_Sergius 03.09.2014 15:23

class - className, for - ?
 
Создаю динамически элементы, вот такой своей примитивной функцией:

var createElement = function(args) {
    /*
      Provide interface to more compact procedure of creating elements

      Parameters:
        `args`: object

      Example:
        var btn = createElement({ input: true, type: button, value: "click me" });
     */
    if (args["input"]) {
        var elem = document.createElement("input");
        elem.type = args["type"];
    }
    else
        var elem = document.createElement(args["type"]);
    delete args["input"], args["type"];
    for (property in args) {
        elem[property] = args[property];
    };
    return elem;
};


И, когда нужно передать параметр class, то это легко делается через className,
а вот если есть лейблы и аттрибут for?
Конечно, можно не через for, но где-то видел, что так правильнее (кстати, если знаете разницу, расскажите):

// name, id - outer parameters
        var option = createElement({ input: true, type: "radio", name: "select_query", id: id });
        var label = document.createElement("label");
        label.setAttribute('for', id);
        label.innerHTML = labeltext
        fieldset.appendChild(option);
        fieldset.appendChild(label);

Octane 03.09.2014 15:36

htmlFor

Master_Sergius 03.09.2014 15:44

Премного благодарствую, работает!


Часовой пояс GMT +3, время: 03:10.