In javascript, we can create a new DOM element in the following ways…
By using the createAttribute() + setAttributeNode() dom methods:
var input = document.createElement("input"),
type = document.createAttribute("type");
type.nodeValue = "text";
input.setAttributeNode(type);
container.appendChild(input);
or by just setting the attributes directly:
var input = document.createElement("input");
input.type = "text";
container.appendChild(input);
The latter can end up being quite lot less code, even when there are only a couple attributes per element.
The question: has anyone run across any drawbacks of the latter method (setting attributes directly)?
I tested this on several browsers (the latest FF, IE, Safari, Opera, old IEs – even IE6 worked) and on a basic test (inserting a text input with type, name, and maxLength attributes) they all passed. Here’s the fiddle if anybody needs it.
will be deprecated in DOM4, so don’t use it, just set with setAttribute(“name”,”value”)
http://www.w3.org/TR/dom/#element
someinput.type is different
basically is a shortcut for doing
hope this helps!