Get the HTML contents of the first element in the set of matched elements or set the HTML contents of every matched element.
.html()Returns: String
Description: Get the HTML contents of the first element in the set of matched elements.
This method is not available on XML documents.
In an HTML document,
In order for the following
The result would look like this:
This method uses the browser's
In an HTML document,
.html()
can be used to get
the contents of any element. If the selector expression matches more
than one element, only the first match will have its HTML content
returned. Consider this code:
1
|
|
<div>
's content to be retrieved, it would have to be the first one with class="demo-container"
in the document:
1
2
3
|
|
1
|
|
innerHTML
property.
Some browsers may not return HTML that exactly replicates the HTML
source in an original document. For example, Internet Explorer sometimes
leaves off the quotes around attribute values if they contain only
alphanumeric characters.Additional Notes:
-
By design, any jQuery constructor or method that accepts an HTML string — jQuery(), .append(), .after(),
etc. — can potentially execute code. This can occur by injection of
script tags or use of HTML attributes that execute code (for example,
<img onload="">
). Do not use these methods to insert strings obtained from untrusted sources such as URL query parameters, cookies, or form inputs. Doing so can introduce cross-site-scripting (XSS) vulnerabilities. Remove or escape any user input before adding content to the document.
Example:
Click a paragraph to convert it from html to text.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
|
Demo:
.html( htmlString )Returns: jQuery
Description: Set the HTML contents of each element in the set of matched elements.
-
version added: 1.0.html( htmlString )
-
htmlStringType: htmlStringA string of HTML to set as the content of each matched element.
-
-
version added: 1.4.html( function(index, oldhtml) )
-
function(index, oldhtml)Type: Function()A function returning the HTML content to set. Receives the index position of the element in the set and the old HTML value as arguments. jQuery empties the element before calling the function; use the oldhtml argument to reference the previous content. Within the function,
this
refers to the current element in the set.
-
The
When
Consider the following HTML:
The content of
That line of code will replace everything inside
As of jQuery 1.4, the
Given a document with six paragraphs, this example will set the HTML of
This method uses the browser's
Note: In Internet Explorer up to and including version 9, setting the text content of an HTML element may corrupt the text nodes of its children that are being removed from the document as a result of the operation. If you are keeping references to these DOM elements and need them to be unchanged, use
.html()
method is not available in XML documents. When
.html()
is used to set an element's content,
any content that was in that element is completely replaced by the new content.
Additionally, jQuery removes other constructs such as data and event
handlers from child elements before replacing those elements with the new content.Consider the following HTML:
1
2
3
|
|
<div class="demo-container">
can be set like this:
1
2
|
|
<div class="demo-container">
:
1
2
3
|
|
.html()
method allows the HTML content to be set by passing in a function.
1
2
3
4
|
|
<div class="demo-container">
to <p>All new content for <em>6 paragraphs!</em></p>
.This method uses the browser's
innerHTML
property.
Some browsers may not generate a DOM that exactly replicates the HTML
source provided. For example, Internet Explorer prior to version 8 will
convert all href
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 compatibility layer.Note: In Internet Explorer up to and including version 9, setting the text content of an HTML element may corrupt the text nodes of its children that are being removed from the document as a result of the operation. If you are keeping references to these DOM elements and need them to be unchanged, use
.empty().html( string )
instead of .html(string)
so that the elements are removed from the document before the new string is assigned to the element.Examples:
Example: Add some html to each div.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
|
Demo:
Example: Add some html to each div then immediately do further manipulations to the inserted html.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
|
No comments:
Post a Comment