使用javascript删除没有ID的标签

时间:2013-08-28 23:26:43

标签: javascript parent html

我是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的引用,但我已经迷失了。

3 个答案:

答案 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]);
    }
}