Removing wrapper div without Jquery (raw javascript)

為{幸葍}努か 提交于 2019-12-29 01:15:22

问题


I know there is a solution with Jquery called unwrap, but I am writing "raw" JavaScript. I didn't find any solution without jQuery.

I'd like to remove a div like so:

<div><div id="mydiv">Important text here</div></div>

After removal of "mydiv":

<div>Important text here</div>

What should I do, I'd like to know the theory.

Thanks in advance.


回答1:


shouldn't this line work

 document.getElementById("mydiv").outerHTML = document.getElementById("mydiv").innerHTML

See this JSBin Example (inspect the element)




回答2:


You need to use removeChild method for that:

var divToRemove = document.getElementById('mydiv').;
var tmpStr = divToRemove.innerHTML;
var parent = divToRemove.parentNode;
parent.removeChild(divToRemove);
parent.inerHTML(tmpStr);



回答3:


Try

​var el = document.getElementById('mydiv');
var text = el.innerText; //or el.innerHTML
    el.parentNode.innerHTML = text;
​

This would replace the html of mydiv's parent with the content of mydiv.



来源:https://stackoverflow.com/questions/11580292/removing-wrapper-div-without-jquery-raw-javascript

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!