Given an HTML document and the task is to remove the parent element except for its child element.
Approach 1:
- Use contents() method to select all the direct children, including text and comment nodes for the selected element.
- Selected elements are stored in a variable.
- Now, use replaceWith() method to replace the content of parent element by its all child element which is stored into a variable.
Example: This example uses contents() and replaceWith() method to remove the parent element except for its child element.
<!DOCTYPE HTML> < html > < head > < title > Remove the parent element not its child using jQuery </ title > < script src = </ script > </ head > < body style = "text-align:center;" > < h1 style = "color:green;" id = "h1" > GeeksForGeeks </ h1 > < div id = "parent" style = "border: 1px solid black;" > < p id = "GFG_UP" style = "font-size: 15px; font-weight: bold;" > </ p > < button onclick = "GFG_Fun()" > click here </ button > < p id = "GFG_DOWN" style = "color:green; font-size: 20px; font-weight: bold;" > </ p > </ div > < script > var up = document.getElementById('GFG_UP'); up.innerHTML = "This content is inside a big DIV."; var down = document.getElementById('GFG_DOWN'); down.innerHTML = "Click on the button to remove " + "just this parent DIV"; var heading = document.getElementById('h1'); function GFG_Fun() { var content = $("#parent").contents(); $("#parent").replaceWith(content); } </ script > </ body > </ html > |
Output:
- Before clicking on the button:
- After clicking on the button:
Approach 2: This approach uses unwrap() method to remove the parent element from the selected element.
Example:
<!DOCTYPE HTML> < html > < head > < title > Remove the parent element not its child using jQuery </ title > < script src = </ script > </ head > < body style = "text-align:center;" > < h1 style = "color:green;" id = "h1" > GeeksForGeeks </ h1 > < div id = "parent" style = "border: 1px solid black;" > < p id = "GFG_UP" style = "font-size: 15px; font-weight: bold;" > This content is inside a big DIV. </ p > < button onclick = "GFG_Fun()" > click here </ button > < p id = "GFG_DOWN" style = "color:green; font-size: 20px; font-weight: bold;" > Click on the button to remove just this parent DIV </ p > </ div > < script > function GFG_Fun() { $("#parent").contents().unwrap(); } </ script > </ body > </ html > |
Output:
- Before clicking on the button:
- After clicking on the button: