How to Combine multiple elements and append the result into a div using JavaScript ?
Last Updated :
28 Feb, 2020
Improve
Combining multiple elements and appending elements to DOM is a crucial process, it would become a time-consuming process. If not handled properly so as a developer we should know how to update the DOM effectively. So following are the three ways to append HTML elements to DOM. The following methods are in decreasing order of time complexity.
- Use jQuery's append method.
- Appending elements using strings instead of nodes.
- Use pure JavaScript to create and append node.
- Example:
HTML <!DOCTYPE html> <html> <head> <title> Appending new elements to document body . </title> <script src= "https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"> </script> <script> var Elements = ["C", "C++", "Java", "Python", "R", "Perl", "C#", "PHP"]; function AddNewElementsByJquery() { for (var i = 0; i < Elements.length; i++) { $("#Languages") .append('<li>' + Elements[i] + '</li>'); } } </script> </head> <body> <button onclick="AddNewElementsByJquery()"> Append Elements Using jQuery </button> <div id="LanguagesDiv"> <ul id="Languages"> <li>JavaScript</li> </ul> </div> </body> </html>
- output:
- Example:
HTML <!DOCTYPE html> <html> <head> <title> Appending new elements to document body . </title> <script src= "https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"> </script> <script> var Elements = ["C", "C++", "Java", "Python", "R", "Perl", "C#", "PHP"]; function AddNewElementUsingString() { var NodesString = ""; for (var i = 0; i < Elements.length; i++) { NodesString += "<li>" + Elements[i] + "</li>"; } var UlElement = document.getElementById('Languages'); $("#Languages").append(NodesString); } </script> </head> <body> <button onclick="AddNewElementUsingString()"> AppendElements Using String </button> <div id="LanguagesDiv"> <ul id="Languages"> <li>JavaScript</li> </ul> </div> </body> </html>
- Output:
- Example:
HTML <!DOCTYPE html> <html> <head> <title> Appending new elements to document body . </title> <script src= "https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"> </script> <script> var Elements = ["C", "C++", "Java", "Python", "R", "Perl", "C#", "PHP"]; function AddElementsByPureJs() { var fragment = document.createDocumentFragment(); for (var i = 0; i < Elements.length; i++) { var e = document.createElement("li"); e.innerHTML = Elements[i]; fragment.appendChild(e); } var UlElement = document.getElementById('Languages'); UlElement.appendChild(fragment); } </script> </head> <body> <button onclick="AddElementsByPureJs()"> AppendElements Using Javascript </button> <div id="LanguagesDiv"> <ul id="Languages"> <li>JavaScript</li> </ul> </div> </body> </html>
- output: