在没有删除div
中的内容的情况下,有人可以帮助我删除JavaScript
代码吗?
这是我需要删除所有div标签的html:
<div id="id1" class="someclass">
<p>some text
<label> Test content </label>
</p>
<div id="id2" style="overfolw:scroll">
<span>some text</span>
<div id="level3">
<label> Test content </label>
<a href="https://twitter.com/realDonaldTrump/status/882186896285282304" target=_blank rel=noopener>creepiness</a>
</div>
</div>
</div>
预期输出如下所示。
<p>some text
<label> Test content </label>
</p>
<span>some text</span>
<label> Test content </label>
<a href=https://twitter.com/realDonaldTrump/status/882186896285282304 target=_blank rel=noopener>creepiness</a>
答案 0 :(得分:11)
1.使用纯java脚本: -
JsonObjectRequest
&#13;
var divs=document.getElementsByTagName('div');
var counter = divs.length-1;
for(i=counter;i>=0;i--){
divs[i].outerHTML = divs[i].innerHTML;
}
&#13;
2.您可以使用jQuery unwrap() : -
<div id="id1" class="someclass">
<p>some text
<label> Test content </label>
</p>
<div id="id2" style="overfolw:scroll">
<span>some text</span>
<div id="level3">
<label> Test content </label>
<a href="https://twitter.com/realDonaldTrump/status/882186896285282304" target=_blank rel=noopener>creepiness</a>
</div>
</div>
</div>
&#13;
$(document).ready(function(){
$('div').contents().unwrap();
});
&#13;
答案 1 :(得分:4)
使用iterable nodelists和replaceWith
这样的尖端技术,使用普通的DOM API非常简单:
for (const div of document.querySelectorAll("div"))
// alternatively: Array.from(document.getElementsByTagName("div"))
div.replaceWith(...div.childNodes);
答案 2 :(得分:3)
您可以使用unwrap
功能。
$('div').children().unwrap();
如果你想用普通的javascript做。您可以使用document.getElementsByTagName("div")
获取所有div的列表,但是您需要以相反的顺序打开这些div。这是一个nodelist
,因此reverse()
无法使用它,因此您可以先在其上使用[].slice.call()
,它会为您提供一个数组,然后您可以将其反转。然后在数组中展开每个元素。
你可以这样做:
var elements = [].slice.call(document.getElementsByTagName("div"), 0).reverse();
elements.forEach(function(el){
el.outerHTML = el.innerHTML;
});
&#13;
<div id="id1" class="someclass">
<p>some text
<label> Test content </label>
</p>
<div id="id2" style="overfolw:scroll">
<span>some text</span>
<div id="level3">
<label> Test content </label>
<a href="https://twitter.com/realDonaldTrump/status/882186896285282304" target=_blank rel=noopener>creepiness</a>
</div>
</div>
</div>
&#13;