Skip to content

Commit ea8d285

Browse files
committed
Correct statements about closing elements
1 parent 7e3162d commit ea8d285

File tree

1 file changed

+3
-5
lines changed

1 file changed

+3
-5
lines changed

entries/jQuery.xml

+3-5
Original file line numberDiff line numberDiff line change
@@ -153,13 +153,11 @@ $foo.triggerHandler('eventName'); // also logs 'eventName was called'
153153
<h4 id="creating-new-elements">Creating New Elements</h4>
154154
<p>If a string is passed as the parameter to <code>$()</code>, jQuery examines the string to see if it looks like HTML (i.e., it has <code>&lt;tag ... &gt;</code> somewhere within the string). If not, the string is interpreted as a selector expression, as explained above. But if the string appears to be an HTML snippet, jQuery attempts to create new DOM elements as described by the HTML. Then a jQuery object is created and returned that refers to these elements. You can perform any of the usual jQuery methods on this object:</p>
155155
<pre>$('&lt;p id="test"&gt;My &lt;em&gt;new&lt;/em&gt; text&lt;/p&gt;').appendTo('body');</pre>
156-
<p>If the HTML is more complex than a single tag without attributes, as it is in the above example, the actual creation of the elements is handled by the browser's <code>innerHTML</code> mechanism. In most cases, jQuery creates a new &lt;div&gt; element and sets the innerHTML property of the element to the HTML snippet that was passed in. When the parameter has a single tag, such as <code>$('&lt;img&#xA0;/&gt;')</code> or <code>$('&lt;a&gt;&lt;/a&gt;')</code>, jQuery creates the element using the native JavaScript <code>createElement()</code> function.</p>
157-
<p>When passing in complex HTML, some browsers may not generate a DOM that exactly replicates the HTML source provided. As mentioned, we use the browser's <code>.innerHTML</code> property to parse the passed HTML and insert it into the current document. During this process, some browsers filter out certain elements such as <code>&lt;html&gt;</code>, <code>&lt;title&gt;</code>, or <code>&lt;head&gt;</code> elements. As a result, the elements inserted may not be representative of the original string passed.</p>
158-
<p> Filtering isn't however just limited to these tags. For example, Internet Explorer prior to version 8 will also convert all <code>href</code> properties on links to absolute URLs, and Internet Explorer prior to version 9 will not correctly handle HTML5 elements without the addition of a separate <a href="http://code.google.com/p/html5shiv/">compatibility layer</a>.</p>
156+
<p>If the HTML is more complex than a single tag without attributes, as it is in the above example, the actual creation of the elements is handled by the browser's <code>innerHTML</code> mechanism. In most cases, jQuery creates a new &lt;div&gt; element and sets the innerHTML property of the element to the HTML snippet that was passed in. When the parameter has a single tag (with optional closing tag or quick-closing) — <code>$('&lt;img&#xA0;/&gt;')</code> or <code>$('&lt;img&gt;')</code>, <code>$('&lt;a&gt;&lt;/a&gt;')</code> or <code>$('&lt;a&gt;')</code> — jQuery creates the element using the native JavaScript <code>createElement()</code> function.</p>
157+
<p>When passing in complex HTML, some browsers may not generate a DOM that exactly replicates the HTML source provided. As mentioned, jQuery uses the browser's <code>.innerHTML</code> property to parse the passed HTML and insert it into the current document. During this process, some browsers filter out certain elements such as <code>&lt;html&gt;</code>, <code>&lt;title&gt;</code>, or <code>&lt;head&gt;</code> elements. As a result, the elements inserted may not be representative of the original string passed.</p>
158+
<p> Filtering isn't, however, limited to these tags. For example, Internet Explorer prior to version 8 will also convert all <code>href</code> properties on links to absolute URLs, and Internet Explorer prior to version 9 will not correctly handle HTML5 elements without the addition of a separate <a href="http://code.google.com/p/html5shiv/">compatibility layer</a>.</p>
159159
<p>To ensure cross-platform compatibility, the snippet must be well-formed. Tags that can contain other elements should be paired with a closing tag:</p>
160160
<pre><code>$('&lt;a href="http://jquery.com"&gt;&lt;/a&gt;');</code></pre>
161-
<p>Alternatively, jQuery allows XML-like tag syntax (with or without a space before the slash):</p>
162-
<pre><code>$('&lt;a/&gt;');</code></pre>
163161
<p>Tags that cannot contain elements may be quick-closed or not:</p>
164162
<pre><code>$('&lt;img /&gt;');
165163
$('&lt;input&gt;');

0 commit comments

Comments
 (0)