createElement Method

Internet Development Index

Creates an instance of the element for the specified tag.


oElement = document.createElement(sTag)


sTag Required. String that specifies the name of an element.

Return Value

Returns a reference to the new element.


In Microsoft® Internet Explorer 4.0, the only new elements you can create are img, area, and option. As of Internet Explorer 5, you can create all elements programmatically, except for frame and iframe. In addition, the properties of these created elements are read/write and can be accessed programmatically. Before you use new objects, you must explicitly add them to their respective collections or to the document. To insert new elements into the current document, use the insertBefore or appendChild methods.

You must perform a second step when using createElement to create the input element. The createElement method generates an input text box, because that is the default input?A HREF="../properties/type_7.html">type property. To insert any other kind of input element, first invoke createElement for input, then set the type property to the appropriate value in the next line of code.

Attributes can be included with the sTag as long as the entire string is valid HTML. You should do this if you wish to include the NAME attribute at run time on objects created with the createElement method.

Attributes should be included with the sTag when form elements are created that are to be reset using the reset method or a BUTTON with a TYPE attribute value of reset.


This example uses the createElement method to dynamically update the contents of a Web page by adding an element selected from a drop-down list box.

function fnCreate(){
var oOption=oSel.options[oSel.selectedIndex];
var aElement=document.createElement(oOption.text);
eval("aElement." + oOption.value + "='" + oText.value + "'");
aElement.href="javascript:alert('A link.')";
<SELECT ID="oSel" onchange="fnCreate()">
<OPTION VALUE="innerText">A
<OPTION VALUE="value">&lt;INPUT TYPE="button"&gt;
<SELECT ID=oText onchange="fnCreate()">
<OPTION VALUE="More and More Text">More and More Text
<SPAN ID="oData" ></SPAN>
This feature requires Microsoft® Internet Explorer 5 or later. Click the following icon to install the latest version. Then reload this page to view the sample.

You can also specify all the attributes inside the createElement method itself by using an HTML string for the method argument. The following example demonstrates how to dynamically create two radio buttons utilizing this technique.

function createRadioButton(){
// Create radio button object with value="First Choice" and then insert
// this element into the document hierarchy.
var newRadioButton = document.createElement("<INPUT TYPE='RADIO' NAME='RADIOTEST' VALUE='First Choice'>")
// Create radio button object with value="Second Choice" and then insert
// this element into the document hierarchy.
newRadioButton = document.createElement("<INPUT TYPE='RADIO' NAME='RADIOTEST' VALUE='Second Choice'>")
<INPUT TYPE="BUTTON" ONCLICK="createRadioButton()" VALUE="Create two Radio Buttons"><BR>
<INPUT TYPE="BUTTON" ONCLICK="alert ( document.body.outerHTML )" VALUE="Click here to see HTML">

Standards Information

This method is defined in World Wide Web Consortium (W3C) Document Object Model (DOM) Level 1 Non-Microsoft link.

Applies To


See Also

add, cloneNode, removeNode, About the W3C Document Object Model