-<div class="body-wrap" xmlns:ext="http://www.extjs.com"><div class="top-tools"><a class="inner-link" href="#Ext.DomHelper-props"><img src="resources/images/default/s.gif" class="item-icon icon-prop">Properties</a> <a class="inner-link" href="#Ext.DomHelper-methods"><img src="resources/images/default/s.gif" class="item-icon icon-method">Methods</a> <a class="inner-link" href="#Ext.DomHelper-events"><img src="resources/images/default/s.gif" class="item-icon icon-event">Events</a> <a class="bookmark" href="../docs/?class=Ext.DomHelper"><img src="resources/images/default/s.gif" class="item-icon icon-fav">Direct Link</a> </div><h1>Class <a href="source/DomHelper.html#cls-Ext.DomHelper">Ext.DomHelper</a></h1><table cellspacing="0"><tr><td class="label">Package:</td><td class="hd-info">Ext</td></tr><tr><td class="label">Defined In:</td><td class="hd-info">DomHelper.js, DomHelper-more.js</td></tr><tr><td class="label">Class:</td><td class="hd-info"><a href="source/DomHelper.html#cls-Ext.DomHelper">DomHelper</a></td></tr><tr><td class="label">Extends:</td><td class="hd-info">Object</td></tr></table><div class="description"><p>The DomHelper class provides a layer of abstraction from DOM and transparently supports creating
-elements via DOM or using HTML fragments. It also has the ability to create HTML fragment templates
-from your DOM building code.</p>
-<p><b><u>DomHelper element specification object</u></b></p>
-<p>A specification object is used when creating elements. Attributes of this object
-are assumed to be element attributes, except for 4 special attributes:
-<div class="mdetail-params"><ul>
-<li><b><tt>tag</tt></b> : <div class="sub-desc">The tag name of the element</div></li>
-<li><b><tt>children</tt></b> : or <tt>cn</tt><div class="sub-desc">An array of the
-same kind of element definition objects to be created and appended. These can be nested
-as deep as you want.</div></li>
-<li><b><tt>cls</tt></b> : <div class="sub-desc">The class attribute of the element.
-This will end up being either the "class" attribute on a HTML fragment or className
-for a DOM node, depending on whether DomHelper is using fragments or DOM.</div></li>
-<li><b><tt>html</tt></b> : <div class="sub-desc">The innerHTML for the element</div></li>
-</ul></div></p>
-<p><b><u>Insertion methods</u></b></p>
-<p>Commonly used insertion methods:
-<div class="mdetail-params"><ul>
-<li><b><tt><a href="output/Ext.DomHelper.html#Ext.DomHelper-append" ext:member="append" ext:cls="Ext.DomHelper">append</a></tt></b> : <div class="sub-desc"></div></li>
-<li><b><tt><a href="output/Ext.DomHelper.html#Ext.DomHelper-insertBefore" ext:member="insertBefore" ext:cls="Ext.DomHelper">insertBefore</a></tt></b> : <div class="sub-desc"></div></li>
-<li><b><tt><a href="output/Ext.DomHelper.html#Ext.DomHelper-insertAfter" ext:member="insertAfter" ext:cls="Ext.DomHelper">insertAfter</a></tt></b> : <div class="sub-desc"></div></li>
-<li><b><tt><a href="output/Ext.DomHelper.html#Ext.DomHelper-overwrite" ext:member="overwrite" ext:cls="Ext.DomHelper">overwrite</a></tt></b> : <div class="sub-desc"></div></li>
-<li><b><tt><a href="output/Ext.DomHelper.html#Ext.DomHelper-createTemplate" ext:member="createTemplate" ext:cls="Ext.DomHelper">createTemplate</a></tt></b> : <div class="sub-desc"></div></li>
-<li><b><tt><a href="output/Ext.DomHelper.html#Ext.DomHelper-insertHtml" ext:member="insertHtml" ext:cls="Ext.DomHelper">insertHtml</a></tt></b> : <div class="sub-desc"></div></li>
-</ul></div></p>
-<p><b><u>Example</u></b></p>
-<p>This is an example, where an unordered list with 3 children items is appended to an existing
-element with id <tt>'my-div'</tt>:<br>
- <pre><code><b>var</b> dh = Ext.DomHelper; <i>// create shorthand alias</i>
-<i>// specification object</i>
-<b>var</b> spec = {
- id: <em>'my-ul'</em>,
- tag: <em>'ul'</em>,
- cls: <em>'my-list'</em>,
- <i>// append children after creating</i>
- children: [ <i>// may also specify <em>'cn'</em> instead of <em>'children'</em></i>
- {tag: <em>'li'</em>, id: <em>'item0'</em>, html: <em>'List Item 0'</em>},
- {tag: <em>'li'</em>, id: <em>'item1'</em>, html: <em>'List Item 1'</em>},
- {tag: <em>'li'</em>, id: <em>'item2'</em>, html: <em>'List Item 2'</em>}
- ]
-};
-<b>var</b> list = dh.append(
- <em>'my-div'</em>, <i>// the context element <em>'my-div'</em> can either be the id or the actual node</i>
- spec <i>// the specification object</i>
-);</code></pre></p>
-<p>Element creation specification parameters in this class may also be passed as an Array of
-specification objects. This can be used to insert multiple sibling nodes into an existing
-container very efficiently. For example, to add more list items to the example above:<pre><code>dh.append(<em>'my-ul'</em>, [
- {tag: <em>'li'</em>, id: <em>'item3'</em>, html: <em>'List Item 3'</em>},
- {tag: <em>'li'</em>, id: <em>'item4'</em>, html: <em>'List Item 4'</em>}
-]);</code></pre></p>
-<p><b><u>Templating</u></b></p>
-<p>The real power is in the built-in templating. Instead of creating or appending any elements,
-<tt><a href="output/Ext.DomHelper.html#Ext.DomHelper-createTemplate" ext:member="createTemplate" ext:cls="Ext.DomHelper">createTemplate</a></tt> returns a Template object which can be used over and over to
-insert new elements. Revisiting the example above, we could utilize templating this time:
-<pre><code><i>// create the node</i>
-<b>var</b> list = dh.append(<em>'my-div'</em>, {tag: <em>'ul'</em>, cls: <em>'my-list'</em>});
-<i>// get template</i>
-<b>var</b> tpl = dh.createTemplate({tag: <em>'li'</em>, id: <em>'item{0}'</em>, html: <em>'List Item {0}'</em>});
-
-<b>for</b>(<b>var</b> i = 0; i < 5, i++){
- tpl.append(list, [i]); <i>// use template to append to the actual node</i>
-}</code></pre></p>
-<p>An example using a template:<pre><code><b>var</b> html = <em>'<a id=<em>"{0}"</em> href=<em>"{1}"</em> class=<em>"nav"</em>>{2}</a>'</em>;
-
-<b>var</b> tpl = <b>new</b> Ext.DomHelper.createTemplate(html);
-tpl.append(<em>'blog-roll'</em>, [<em>'link1'</em>, <em>'http:<i>//www.jackslocum.com/'</em>, <em>"Jack's Site"</em>]);</i>
-tpl.append(<em>'blog-roll'</em>, [<em>'link2'</em>, <em>'http:<i>//www.dustindiaz.com/'</em>, <em>"Dustin's Site"</em>]);</i></code></pre></p>
-<p>The same example using named parameters:<pre><code><b>var</b> html = <em>'<a id=<em>"{id}"</em> href=<em>"{url}"</em> class=<em>"nav"</em>>{text}</a>'</em>;
-
-<b>var</b> tpl = <b>new</b> Ext.DomHelper.createTemplate(html);
-tpl.append(<em>'blog-roll'</em>, {
- id: <em>'link1'</em>,
- url: <em>'http:<i>//www.jackslocum.com/'</em>,</i>
- text: <em>"Jack's Site"</em>
-});
-tpl.append(<em>'blog-roll'</em>, {
- id: <em>'link2'</em>,
- url: <em>'http:<i>//www.dustindiaz.com/'</em>,</i>
- text: <em>"Dustin's Site"</em>
-});</code></pre></p>
-<p><b><u>Compiling Templates</u></b></p>
-<p>Templates are applied using regular expressions. The performance is great, but if
-you are adding a bunch of DOM elements using the same template, you can increase
-performance even further by <a href="output/Ext.Template.html#Ext.Template-compile" ext:member="compile" ext:cls="Ext.Template">"compiling"</a> the template.
-The way "<a href="output/Ext.Template.html#Ext.Template-compile" ext:member="compile" ext:cls="Ext.Template">compile()</a>" works is the template is parsed and
-broken up at the different variable points and a dynamic function is created and eval'ed.
-The generated function performs string concatenation of these parts and the passed
-variables instead of using regular expressions.
-<pre><code><b>var</b> html = <em>'<a id=<em>"{id}"</em> href=<em>"{url}"</em> class=<em>"nav"</em>>{text}</a>'</em>;
-
-<b>var</b> tpl = <b>new</b> Ext.DomHelper.createTemplate(html);
-tpl.compile();
-
-<i>//... use template like normal</i></code></pre></p>
-<p><b><u>Performance Boost</u></b></p>
-<p>DomHelper will transparently create HTML fragments when it can. Using HTML fragments instead
-of DOM can significantly boost performance.</p>
-<p>Element creation specification parameters may also be strings. If <a href="output/Ext.DomHelper.html#Ext.DomHelper-useDom" ext:member="useDom" ext:cls="Ext.DomHelper">useDom</a> is <tt>false</tt>,
-then the string is used as innerHTML. If <a href="output/Ext.DomHelper.html#Ext.DomHelper-useDom" ext:member="useDom" ext:cls="Ext.DomHelper">useDom</a> is <tt>true</tt>, a string specification
-results in the creation of a text node. Usage:</p>
-<pre><code>Ext.DomHelper.useDom = true; <i>// force it to use DOM; reduces performance</i></code></pre><br><br><i>This class is a singleton and cannot be created directly.</i></div><div class="hr"></div><a id="Ext.DomHelper-props"></a><h2>Public Properties</h2><table cellspacing="0" class="member-table"><tbody><tr><th colspan="2" class="sig-header">Property</th><th class="msource-header">Defined By</th></tr><tr class="property-row "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.DomHelper-useDom"></a><b><a href="source/DomHelper-more.html#prop-Ext.DomHelper-useDom">useDom</a></b> : Boolean<div class="mdesc">True to force the use of DOM instead of html fragments</div></td><td class="msource">DomHelper</td></tr></tbody></table><a id="Ext.DomHelper-methods"></a><h2>Public Methods</h2><table cellspacing="0" class="member-table"><tbody><tr><th colspan="2" class="sig-header">Method</th><th class="msource-header">Defined By</th></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.DomHelper-applyStyles"></a><b><a href="source/DomHelper-more.html#method-Ext.DomHelper-applyStyles">applyStyles</a></b>( <code>String/HTMLElement el</code>, <code>String/Object/Function styles</code> )
+<div xmlns:ext="http://www.extjs.com" class="body-wrap"><h1>Class <a href="source/DomHelper-more.html#cls-Ext.DomHelper">Ext.DomHelper</a></h1><table cellspacing="0"><tr><td class="label">Package:</td><td class="hd-info">Ext</td></tr><tr><td class="label">Defined In:</td><td class="hd-info">DomHelper-more.js, DomHelper.js</td></tr><tr><td class="label">Class:</td><td class="hd-info"><a href="source/DomHelper-more.html#cls-Ext.DomHelper">DomHelper</a></td></tr><tr><td class="label">Extends:</td><td class="hd-info">Object</td></tr></table><div class="description"><p>The DomHelper class provides a layer of abstraction from DOM and transparently supports creating\r
+elements via DOM or using HTML fragments. It also has the ability to create HTML fragment templates\r
+from your DOM building code.</p>\r
+<p><b><u>DomHelper element specification object</u></b></p>\r
+<p>A specification object is used when creating elements. Attributes of this object\r
+are assumed to be element attributes, except for 4 special attributes:\r
+<div class="mdetail-params"><ul>\r
+<li><b><tt>tag</tt></b> : <div class="sub-desc">The tag name of the element</div></li>\r
+<li><b><tt>children</tt></b> : or <tt>cn</tt><div class="sub-desc">An array of the\r
+same kind of element definition objects to be created and appended. These can be nested\r
+as deep as you want.</div></li>\r
+<li><b><tt>cls</tt></b> : <div class="sub-desc">The class attribute of the element.\r
+This will end up being either the "class" attribute on a HTML fragment or className\r
+for a DOM node, depending on whether DomHelper is using fragments or DOM.</div></li>\r
+<li><b><tt>html</tt></b> : <div class="sub-desc">The innerHTML for the element</div></li>\r
+</ul></div></p>\r
+<p><b><u>Insertion methods</u></b></p>\r
+<p>Commonly used insertion methods:\r
+<div class="mdetail-params"><ul>\r
+<li><b><tt><a href="output/Ext.DomHelper.html#Ext.DomHelper-append" ext:member="append" ext:cls="Ext.DomHelper">append</a></tt></b> : <div class="sub-desc"></div></li>\r
+<li><b><tt><a href="output/Ext.DomHelper.html#Ext.DomHelper-insertBefore" ext:member="insertBefore" ext:cls="Ext.DomHelper">insertBefore</a></tt></b> : <div class="sub-desc"></div></li>\r
+<li><b><tt><a href="output/Ext.DomHelper.html#Ext.DomHelper-insertAfter" ext:member="insertAfter" ext:cls="Ext.DomHelper">insertAfter</a></tt></b> : <div class="sub-desc"></div></li>\r
+<li><b><tt><a href="output/Ext.DomHelper.html#Ext.DomHelper-overwrite" ext:member="overwrite" ext:cls="Ext.DomHelper">overwrite</a></tt></b> : <div class="sub-desc"></div></li>\r
+<li><b><tt><a href="output/Ext.DomHelper.html#Ext.DomHelper-createTemplate" ext:member="createTemplate" ext:cls="Ext.DomHelper">createTemplate</a></tt></b> : <div class="sub-desc"></div></li>\r
+<li><b><tt><a href="output/Ext.DomHelper.html#Ext.DomHelper-insertHtml" ext:member="insertHtml" ext:cls="Ext.DomHelper">insertHtml</a></tt></b> : <div class="sub-desc"></div></li>\r
+</ul></div></p>\r
+<p><b><u>Example</u></b></p>\r
+<p>This is an example, where an unordered list with 3 children items is appended to an existing\r
+element with id <tt>'my-div'</tt>:<br>\r
+ <pre><code><b>var</b> dh = Ext.DomHelper; <i>// create shorthand alias\r</i>
+<i>// specification object\r</i>
+<b>var</b> spec = {\r
+ id: <em>'my-ul'</em>,\r
+ tag: <em>'ul'</em>,\r
+ cls: <em>'my-list'</em>,\r
+ <i>// append children after creating\r</i>
+ children: [ <i>// may also specify <em>'cn'</em> instead of <em>'children'</em>\r</i>
+ {tag: <em>'li'</em>, id: <em>'item0'</em>, html: <em>'List Item 0'</em>},\r
+ {tag: <em>'li'</em>, id: <em>'item1'</em>, html: <em>'List Item 1'</em>},\r
+ {tag: <em>'li'</em>, id: <em>'item2'</em>, html: <em>'List Item 2'</em>}\r
+ ]\r
+};\r
+<b>var</b> list = dh.append(\r
+ <em>'my-div'</em>, <i>// the context element <em>'my-div'</em> can either be the id or the actual node\r</i>
+ spec <i>// the specification object\r</i>
+);</code></pre></p>\r
+<p>Element creation specification parameters in this class may also be passed as an Array of\r
+specification objects. This can be used to insert multiple sibling nodes into an existing\r
+container very efficiently. For example, to add more list items to the example above:<pre><code>dh.append(<em>'my-ul'</em>, [\r
+ {tag: <em>'li'</em>, id: <em>'item3'</em>, html: <em>'List Item 3'</em>},\r
+ {tag: <em>'li'</em>, id: <em>'item4'</em>, html: <em>'List Item 4'</em>}\r
+]);</code></pre></p>\r
+<p><b><u>Templating</u></b></p>\r
+<p>The real power is in the built-in templating. Instead of creating or appending any elements,\r
+<tt><a href="output/Ext.DomHelper.html#Ext.DomHelper-createTemplate" ext:member="createTemplate" ext:cls="Ext.DomHelper">createTemplate</a></tt> returns a Template object which can be used over and over to\r
+insert new elements. Revisiting the example above, we could utilize templating this time:\r
+<pre><code><i>// create the node\r</i>
+<b>var</b> list = dh.append(<em>'my-div'</em>, {tag: <em>'ul'</em>, cls: <em>'my-list'</em>});\r
+<i>// get template\r</i>
+<b>var</b> tpl = dh.createTemplate({tag: <em>'li'</em>, id: <em>'item{0}'</em>, html: <em>'List Item {0}'</em>});\r
+\r
+<b>for</b>(<b>var</b> i = 0; i < 5, i++){\r
+ tpl.append(list, [i]); <i>// use template to append to the actual node\r</i>
+}</code></pre></p>\r
+<p>An example using a template:<pre><code><b>var</b> html = <em>'<a id=<em>"{0}"</em> href=<em>"{1}"</em> class=<em>"nav"</em>>{2}</a>'</em>;\r
+\r
+<b>var</b> tpl = <b>new</b> Ext.DomHelper.createTemplate(html);\r
+tpl.append(<em>'blog-roll'</em>, [<em>'link1'</em>, <em>'http:<i>//www.jackslocum.com/'</em>, <em>"Jack's Site"</em>]);\r</i>
+tpl.append(<em>'blog-roll'</em>, [<em>'link2'</em>, <em>'http:<i>//www.dustindiaz.com/'</em>, <em>"Dustin's Site"</em>]);</i></code></pre></p>\r
+<p>The same example using named parameters:<pre><code><b>var</b> html = <em>'<a id=<em>"{id}"</em> href=<em>"{url}"</em> class=<em>"nav"</em>>{text}</a>'</em>;\r
+\r
+<b>var</b> tpl = <b>new</b> Ext.DomHelper.createTemplate(html);\r
+tpl.append(<em>'blog-roll'</em>, {\r
+ id: <em>'link1'</em>,\r
+ url: <em>'http:<i>//www.jackslocum.com/'</em>,\r</i>
+ text: <em>"Jack's Site"</em>\r
+});\r
+tpl.append(<em>'blog-roll'</em>, {\r
+ id: <em>'link2'</em>,\r
+ url: <em>'http:<i>//www.dustindiaz.com/'</em>,\r</i>
+ text: <em>"Dustin's Site"</em>\r
+});</code></pre></p>\r
+<p><b><u>Compiling Templates</u></b></p>\r
+<p>Templates are applied using regular expressions. The performance is great, but if\r
+you are adding a bunch of DOM elements using the same template, you can increase\r
+performance even further by <a href="output/Ext.Template.html#Ext.Template-compile" ext:member="compile" ext:cls="Ext.Template">"compiling"</a> the template.\r
+The way "<a href="output/Ext.Template.html#Ext.Template-compile" ext:member="compile" ext:cls="Ext.Template">compile()</a>" works is the template is parsed and\r
+broken up at the different variable points and a dynamic function is created and eval'ed.\r
+The generated function performs string concatenation of these parts and the passed\r
+variables instead of using regular expressions.\r
+<pre><code><b>var</b> html = <em>'<a id=<em>"{id}"</em> href=<em>"{url}"</em> class=<em>"nav"</em>>{text}</a>'</em>;\r
+\r
+<b>var</b> tpl = <b>new</b> Ext.DomHelper.createTemplate(html);\r
+tpl.compile();\r
+\r
+<i>//... use template like normal</i></code></pre></p>\r
+<p><b><u>Performance Boost</u></b></p>\r
+<p>DomHelper will transparently create HTML fragments when it can. Using HTML fragments instead\r
+of DOM can significantly boost performance.</p>\r
+<p>Element creation specification parameters may also be strings. If <a href="output/Ext.DomHelper.html#Ext.DomHelper-useDom" ext:member="useDom" ext:cls="Ext.DomHelper">useDom</a> is <tt>false</tt>,\r
+then the string is used as innerHTML. If <a href="output/Ext.DomHelper.html#Ext.DomHelper-useDom" ext:member="useDom" ext:cls="Ext.DomHelper">useDom</a> is <tt>true</tt>, a string specification\r
+results in the creation of a text node. Usage:</p>\r
+<pre><code>Ext.DomHelper.useDom = true; <i>// force it to use DOM; reduces performance</i></code></pre><br><br><i>This class is a singleton and cannot be created directly.</i></div><div class="hr"></div><a id="Ext.DomHelper-props"></a><h2>Public Properties</h2><table cellspacing="0" class="member-table"><tbody><tr><th colspan="2" class="sig-header">Property</th><th class="msource-header">Defined By</th></tr><tr class="property-row "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.DomHelper-useDom"></a><b><a href="source/DomHelper-more.html#prop-Ext.DomHelper-useDom">useDom</a></b> : Boolean<div class="mdesc">True to force the use of DOM instead of html fragments</div></td><td class="msource">DomHelper</td></tr></tbody></table><a id="Ext.DomHelper-methods"></a><h2>Public Methods</h2><table cellspacing="0" class="member-table"><tbody><tr><th colspan="2" class="sig-header">Method</th><th class="msource-header">Defined By</th></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.DomHelper-append"></a><b><a href="source/DomHelper.html#method-Ext.DomHelper-append">append</a></b>( <code>Mixed el</code>, <code>Object/String o</code>, <span title="Optional" class="optional">[<code>Boolean returnElement</code>]</span> )
+ :
+ HTMLElement/Ext.Element<div class="mdesc"><div class="short">Creates new DOM element(s) and appends them to el.</div><div class="long">Creates new DOM element(s) and appends them to el.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>el</code> : Mixed<div class="sub-desc">The context element</div></li><li><code>o</code> : Object/String<div class="sub-desc">The DOM object spec (and children) or raw HTML blob</div></li><li><code>returnElement</code> : Boolean<div class="sub-desc">(optional) true to return a Ext.Element</div></li></ul><strong>Returns:</strong><ul><li><code>HTMLElement/Ext.Element</code><div class="sub-desc">The new node</div></li></ul></div></div></div></td><td class="msource">DomHelper</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.DomHelper-applyStyles"></a><b><a href="source/DomHelper.html#method-Ext.DomHelper-applyStyles">applyStyles</a></b>( <code>String/HTMLElement el</code>, <code>String/Object/Function styles</code> )