Given an HTML document containing a table. The task is to insert a new row in that table at a certain index using JQuery.
Approach:
- Store the table column value <td> element into the variable.
- Then use eq() and after() method to insert the row in a table.
Example 1: In this example, the row is inserted at index 1 (hardcoded).
<!DOCTYPE HTML> < html > < head > < title > Insert new row at a certain index in a table using jQuery </ title > < script src = </ script > < style > #myCol { background:green; } table { color:white; } #Geek_p { color:green; font-size:30px; } td { padding:10px; } </ style > </ head > < body > < center > < h1 style = "color:green;" > GeeksForGeeks </ h1 > < strong > Click on the button to insert a new row in the table </ strong > < br >< br > < table > < colgroup > < col id = "myCol" span = "2" > < col style = "background-color:green" > </ colgroup > < tr > < th >S.No</ th > < th >Title</ th > < th >Geek_id</ th > </ tr > < tr id = "row1" > < td >Geek_1</ td > < td >GeekForGeeks</ td > < th >Geek_id_1</ th > </ tr > < tr > < td >Geek_3</ td > < td >GeeksForGeeks</ td > < th >Geek_id_3</ th > </ tr > </ table > < br > < button onclick = "Geeks()" > Click here </ button > <!-- Script to insert new row in a table --> < script > function Geeks() { var html = "< td >Geek_2</ td >< td >GeeksForGeeks</ td >< th >Geek_id_2</ th >"; $('table > tbody > tr').eq(1).after(html); } </ script > </ center > </ body > </ html > |
Output:
-
Before clicking on the button:
-
After clicking on the button:
Example 2: In this example, the row is inserted at index provided by the user.
<!DOCTYPE HTML> < html > < head > < title > Insert new row at a certain index in a table using jQuery </ title > < script src = </ script > < style > #myCol { background:green; } table { color:white; } #Geek_p { color:green; font-size:30px; } td { padding:10px; } </ style > </ head > < body > < center > < h1 style = "color:green;" > GeeksForGeeks </ h1 > < strong > Click on the button to insert a new row in the table </ strong > < br >< br > < table > < colgroup > < col id = "myCol" span = "2" > < col style = "background-color:green" > </ colgroup > < tr > < th >S.No</ th > < th >Title</ th > < th >Geek_id</ th > </ tr > < tr id = "row1" > < td >Geek_1</ td > < td >GeekForGeeks</ td > < th >Geek_id_1</ th > </ tr > < tr > < td >Geek_3</ td > < td >GeeksForGeeks</ td > < th >Geek_id_3</ th > </ tr > </ table > < br > < button onclick = "Geeks()" > Click here </ button > <!-- Script to insert new row in a table --> < script > function Geeks() { var i = 2; var html = "< td >Geek_2</ td >< td >GeeksForGeeks</ td >< th >Geek_id_2</ th >"; $('table > tbody > tr').eq(i - 1).after(html); } </ script > </ center > </ body > </ html > |
Output:
-
Before clicking on the button:
-
After clicking on the button: