Показать сообщение отдельно
  #1 (permalink)  
Старый 03.09.2014, 15:23
Аспирант
Отправить личное сообщение для Master_Sergius Посмотреть профиль Найти все сообщения от Master_Sergius
 
Регистрация: 29.07.2014
Сообщений: 42

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);
Ответить с цитированием