好的,我在这里有一个非常复杂的html设置,在我的函数中我需要删除不在这两个子类中的所有ps(不仅仅是所有div,ps):.panel-heading
和{{ 1}}
最初我得到了以下所有ps:
.panel-body
用这个:
<div class="panel panel-default">
<div class="panel-heading" role="tab" id="headingEight">
<h4 class="panel-title">
<a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseNine2" aria-expanded="false" aria-controls="collapseNine2">
<i class="fa fa-plus-square-o"></i>
<span style="margin-left: 12px; display: inline-block;"></span>AirWatch and Workspace ONE
</a>
</h4>
</div>
<div id="collapseNine2" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingEight">
<div class="panel-body">
除了它删除字面上所有的ps之外,这是有效的,我不能拥有它。我知道我需要使用not selector,所以我尝试过:
$(labArr[i].selector).find(".panel-default").find("p").remove()
和
$(labArr[i].selector).find(".panel-default").find("div:not(.panel-body, .panel-heading)").remove();
哪个不起作用。我不知道为什么。
如何删除面板默认值中的ALL ps,除了那两个类中的那些?
答案 0 :(得分:1)
与选择者一样,有很多不同的方法来实现同样的目标,但试试这个:
$(labArr[i].selector).find(".panel-default p").not(function() {
return $(this).closest('.panel-body, .panel-heading').length;
}).remove();
检查每个匹配的段落,然后丢弃任何带有两个禁止类别的元素下的段落。