0

我是 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=""'?如果我按类名删除分隔符标签,它将删除实际具有内容的其他项目。这显然是一种糟糕的方式,但我无法争论不同/更好的解决方案。我用谷歌搜索并不断看到对 parentnode.remove 和 parentnode.removechild 的引用,但我迷路了。

4

3 回答 3

0

这将删除带有 class="className" 的标签:

$('.className').remove();
于 2013-08-28T23:37:18.193 回答
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]);
    }
}
于 2013-08-29T02:47:31.600 回答
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"元素及其所有子元素。


PS您发布的 HTML 无效。

于 2013-08-28T23:29:40.127 回答