4

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

我想像这样删除一个div:

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

删除“mydiv”后:

<div>Important text here</div>

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

提前致谢。

4

3 回答 3

12

这条线不应该工作吗

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

请参阅此JSBin 示例(检查元素)

于 2012-07-20T13:31:17.753 回答
0

您需要为此使用removeChild方法:

var divToRemove = document.getElementById('mydiv').;
var tmpStr = divToRemove.innerHTML;
var parent = divToRemove.parentNode;
parent.removeChild(divToRemove);
parent.inerHTML(tmpStr);
于 2012-07-20T13:28:03.983 回答
0

尝试

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

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

于 2012-07-20T13:28:15.760 回答