我知道Jquery有一个名为unwrap的解决方案,但我正在编写“原始”JavaScript。 没有jQuery,我没有找到任何解决方案。
我想删除这样的div:
<div><div id="mydiv">Important text here</div></div>
删除“mydiv”后:
<div>Important text here</div>
我该怎么办,我想知道这个理论。
提前致谢。
答案 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。