I am building a dynamic page, on which controls are generated on the basis of what inputs are. So planing to create HTML controls using javascript.
I am concerned if i should use DOM elements or direct HTML as string.
Using DOM elements.
var div = document.createElement("div");
div.setAttribute("class","outer-div");
var input = document.createElement("input");
input.setAttriute("id","1234");
input.setAttriute("value","xyz");
div.appendChild(input);
document.body.appendChild(div);
Using HTML String
var html = "<div class='outer-div'><input id='1234' value='xyz' /></div>";
$("body").html(html);
Please suggest to choose from both.
createDocumentFragmentI believe is the best answer, with string concatenation coming in second. You can always write a jsperf and find out, or I'm sure someone has already written one... jsperf.com/dom-insert-element-vs-string/2