<div id="container-main" name="#top">
<div class="col-sm-12">
<div id="view" ui-view="" autoscroll="" class="ng-scope">
<div ng-include="template == 'hover' ? 'templates/hover.html' : null" class="ng-scope">
<div class="chart-wrap--hover clearfix ng-scope">
<div class="card--sml card--hover ng-scope fff" > Keep </div>
<div class="card--sml card--hover ng-scope" > Remove </div>
</div>
</div>
</div>
</div>
</div>
使用Javascript / Tampermonkey我想删除其类中没有"fff"
的div,它只是来自特定路径,所以它不会删除所有其他不相关的div。
有没有办法在js中使用Xpath?我需要在"fff"
xpath: //*[@id="view"]/div[1]/div
类之外的div
我已经尝试了几件事并搜索了它,但是我无法解决它。
答案 0 :(得分:1)
假设您的起点是id =“view”,那么您可以找到超过2个等级.fff:
$('#view > div:first > div > div:not(.fff)').remove()
如果您不希望第一个顶级div移除first
或使用eq(n)
定位特定儿童。
答案 1 :(得分:1)
为什么不使用简单的css选择器:
好的@trueaussie建议这将删除任何没有&#34; fff&#34;在字符串中 所以它也会离开
class="testclassnamefff"
class="ffftestclassname"
class="ghjgfffjfkfjkf"
$('#view div:first div div:not([class*=fff])').remove();
&#13;
[class*=fff] {
border: 5px solid yellow;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="container-main" name="#top">
<div class="col-sm-12">
<div id="view" ui-view="" autoscroll="" class="ng-scope">
<div ng-include="template == 'hover' ? 'templates/hover.html' : null" class="ng-scope">
<div class="chart-wrap--hover clearfix ng-scope">
<div class="card--sml card--hover ng-scope fff" > Keep </div>
<div class="card--sml card--hover ng-scope dhjdhjdfff" > Keep </div>
<div class="card--sml card--hover ng-scope fffdkldkld" > Keep </div>
<div class="card--sml card--hover ng-scope dsdssdsdfffdsdd" > Keep </div>
<div class="card--sml card--hover ng-scope" > Remove </div>
</div>
</div>
</div>
</div>
</div>
&#13;
答案 2 :(得分:0)
使用jQuery:
$("#view > div:eq(1) > div > div:not(.fff)").remove();
答案 3 :(得分:0)
改编自TrueBlueAussie之前的回答:
$("#view > div:first > div > div:not(.fff)").remove();