删除没有Jquery的包装div(原始javascript)

时间:2012-07-20 13:24:58

标签: javascript html wrapper

我知道Jquery有一个名为unwrap的解决方案,但我正在编写“原始”JavaScript。 没有jQuery,我没有找到任何解决方案。

我想删除这样的div:

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

删除“mydiv”后:

<div>Important text here</div>

我该怎么办,我想知道这个理论。

提前致谢。

3 个答案:

答案 0 :(得分:7)

不应该这条线工作

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

请参阅此JSBin Example(检查元素)

答案 1 :(得分:0)

您需要使用removeChild方法:

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

答案 2 :(得分:0)

尝试

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

这将用mydiv的内容替换mydiv的父级的html。