Создаю динамически элементы, вот такой своей примитивной функцией:
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);