.append( content [, content ] )Returns: jQuery
Description: Insert content, specified by the parameter, to the end of each element in the set of matched elements.
-
version added: 1.0.append( content [, content ] )
-
contentDOM element, text node, array of elements and text nodes, HTML string, or jQuery object to insert at the end of each element in the set of matched elements.
-
contentOne or more additional DOM elements, text nodes, arrays of elements and text nodes, HTML strings, or jQuery objects to insert at the end of each element in the set of matched elements.
-
-
version added: 1.4.append( function )
-
functionA function that returns an HTML string, DOM element(s), text node(s), or jQuery object to insert at the end of each element in the set of matched elements. Receives the index position of the element in the set and the old HTML value of the element as arguments. Within the function,
this
refers to the current element in the set.
-
.append()
method inserts the specified content as the last child of each element in the jQuery collection (To insert it as the first child, use .prepend()
).
.append()
and .appendTo()
methods perform the same task. The major difference is in the syntax-specifically, in the placement of the content and target. With .append()
, the selector expression preceding the method is the container into which the content is inserted. With .appendTo()
, on the other hand, the content precedes the method, either as a selector expression or as markup created on the fly, and it is inserted into the target container.
1
2
3
4
5
|
|
1
|
|
<div>
element gets this new content:
1
2
3
4
5
6
7
8
9
10
11
|
|
1
|
|
1
2
3
4
5
|
|
Additional Arguments
.prepend()
and .before()
, .append()
also supports passing in multiple arguments as input. Supported input includes DOM elements, jQuery objects, HTML strings, and arrays of DOM elements.
<div>
s and an existing <div>
as the last three child nodes of the body:
1
2
3
4
5
|
|
.append()
can accept any number of additional arguments, the same result can be achieved by passing in the three <div>
s as three separate arguments, like so: $('body').append( $newdiv1, newdiv2, existingdiv1 )
. The type and number of arguments will largely depend on how you collect the elements in your code.
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. -
jQuery doesn't officially support SVG. Using jQuery methods on SVG documents, unless explicitly documented for that method, might cause unexpected behaviors. Examples of methods that support SVG as of jQuery 3.0 are
addClass
andremoveClass
.
Examples:
Example 1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
|
Demo:
Example 2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
|
Demo:
Example 3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
|