我是javascript的新手,但我相信它可以为我提供我想要达到的预期效果。
我获得了一个显示为:
的有序列表<div class ="level-section" style="">
<td><a>
<td><a>
<td><a>
</div>
<div class ="level-section">
<td>Apple<a>
<td>Bread<a>
<td>Cookie<a>
</div>
有没有办法删除"<div class ="level-section" style="">"
的每一个匹配项并保留没有'style=""'
的分隔符标记?如果我按类名删除divider标签,它将删除实际包含内容的其他项。这显然是一种糟糕的做法,但我不能争论一个不同的/更好的解决方案。我用google搜索并继续看到对parentnode.remove和parentnode.removechild的引用,但我已经迷失了。
答案 0 :(得分:0)
var divs = document.querySelectorAll('.level-section[style]');
var l = divs.length;
for ( var i = 0; i < l; i++ ) {
divs[i].parentNode.removeChild( divs[i] );
}
这将删除所有class="level-section"
元素及其所有子元素。
P.S。您发布的HTML无效。
答案 1 :(得分:0)
这将删除class =“className”:
的标签$('.className').remove();
答案 2 :(得分:0)
试试这个:
var divs = [].slice.call(document.getElementsByClassName('level-selection'),0);
for(var i=0; i<divs.length; i++){
if(divs[i].hasAttribute('style')){
divs[i].parentNode.removeChild(divs[i]);
}
}