How to sort an HTML list using JavaScript ?

In this article, we are given a list of elements and the task is to sort them alphabetically and put each element in the list with the help of JavaScript. We have a method to sort an HTML list using JavaScript that are described below:
insertBefore() method: The insertBefore() method in HTML DOM is used to insert a new node before the existing node as specified by the user.
Syntax:
node.insertBefore( newnode, existingnode )
Example: In this example, the list elements are selected and then passed to a function for sorting. After sorting they are appended to the Parent element using the insertBefore() method in a sorted manner.
HTML
| <body>     <h1style="text-align:center;         color: forestgreen;">         GeeksForGeeks     </h1>     <pstyle="text-align:center; font-size: 15px;         font-weight: bold;">         Click on the button to sort the list     </p>      <ulstyle="color: crimson;"id="GeekList">         <li>Geeks</li>         <li>For</li>         <li>GFG</li>         <li>GeeksForGeeks</li>     </ul>     <br>      <center>         <buttonstyle="color: crimson;"onclick="sort()">             Click Here To Sort         </button>     </center>     <script>         function sort() {                      // Declaring Variables             var geek_list, i, run, li, stop;                      // Taking content of list as input             geek_list = document.getElementById("GeekList");                      run = true;                      while (run) {                 run = false;                 li = geek_list.getElementsByTagName("LI");                          // Loop traversing through all the list items                 for (i = 0; i < (li.length - 1); i++) {                     stop = false;                     if (li[i].innerHTML.toLowerCase() >                          li[i + 1].innerHTML.toLowerCase()) {                         stop = true;                         break;                     }                 }                          /* If the current item is smaller than                     the next item then adding it after                     it using insertBefore() method */                 if (stop) {                     li[i].parentNode.insertBefore(                             li[i + 1], li[i]);                              run = true;                 }             }         }     </script> </body> | 
Output:
 
Sort an HTML list
 
				 
					


