如何根据内部 SPAN 内的文本删除整个 DIV
How to remove whole DIV, based on text inside of inner SPAN
能否请您给个建议 - 我如何 remove/hide 使用我的 Tampermonkey 整个 div 块?代码如下所示:
如果整个 div "relative ember-view" 在父 div "relative ember-view" 的深处包含一个带有文本 ADSWG 的跨度,我该如何删除它?
所以在网页上有很多 "relative ember-view"-divs,但我试图只删除这些,它们在 span 标签中包含 ADSWG。
希望,我已经解释清楚了。提前谢谢你。
<div id="ember175" class="relative ember-view">
<div id="ember177" class="occludable-update ember-view">
<div .....
<span class="...
<div id="ember270" class="
<span id="ember273" class="ember-view">
<span>ADSWG</span>
如果您在您的 TamperMonkey 脚本中引用了 jQuery(根据问题中的标签我将假设),那么这是一个使用 :has
的单行代码,:contains
和 remove()
:
$('div.relative.ember-view:has(span:contains("ADSWG"))').remove();
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p>Content before</p>
<div id="ember175" class="relative ember-view">
<div id="ember177" class="occludable-update ember-view">
<div>
<span class="foo">
<div id="ember270" class="foo">
<span id="ember273" class="ember-view">
<span>ADSWG</span>
</span>
</div>
</span>
</div>
</div>
</div>
<p>Content after</p>
使用$.each
点击检查以下内容
$(document).ready(function() {
$("#btnShow").click(function() {
debugger
ShowHideDiv('show');
});
$("#btnHide").click(function() {
ShowHideDiv('hide');
});
function ShowHideDiv(click) {
var div = $('div .ember-view').find('span');
$.each(div, function(i, span) {
if (span.innerHTML.trim() == 'ADSWG') {
if (click == 'show') {
$(div).show();
} else if (click == 'hide') {
$(div).hide();
}
}
});
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="ember175" class="relative ember-view">
<div id="ember177" class="occludable-update ember-view">
<div>
<span>
<div id="ember270" >
<span id="ember273" class="ember-view">
<span>ADSWG</span>
</span>
</div>
</span>
</div>
</div>
<button id="btnShow">SHOW DIV</button>
<button id="btnHide">HIDE DIV</button>
能否请您给个建议 - 我如何 remove/hide 使用我的 Tampermonkey 整个 div 块?代码如下所示: 如果整个 div "relative ember-view" 在父 div "relative ember-view" 的深处包含一个带有文本 ADSWG 的跨度,我该如何删除它? 所以在网页上有很多 "relative ember-view"-divs,但我试图只删除这些,它们在 span 标签中包含 ADSWG。
希望,我已经解释清楚了。提前谢谢你。
<div id="ember175" class="relative ember-view">
<div id="ember177" class="occludable-update ember-view">
<div .....
<span class="...
<div id="ember270" class="
<span id="ember273" class="ember-view">
<span>ADSWG</span>
如果您在您的 TamperMonkey 脚本中引用了 jQuery(根据问题中的标签我将假设),那么这是一个使用 :has
的单行代码,:contains
和 remove()
:
$('div.relative.ember-view:has(span:contains("ADSWG"))').remove();
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p>Content before</p>
<div id="ember175" class="relative ember-view">
<div id="ember177" class="occludable-update ember-view">
<div>
<span class="foo">
<div id="ember270" class="foo">
<span id="ember273" class="ember-view">
<span>ADSWG</span>
</span>
</div>
</span>
</div>
</div>
</div>
<p>Content after</p>
使用$.each
$(document).ready(function() {
$("#btnShow").click(function() {
debugger
ShowHideDiv('show');
});
$("#btnHide").click(function() {
ShowHideDiv('hide');
});
function ShowHideDiv(click) {
var div = $('div .ember-view').find('span');
$.each(div, function(i, span) {
if (span.innerHTML.trim() == 'ADSWG') {
if (click == 'show') {
$(div).show();
} else if (click == 'hide') {
$(div).hide();
}
}
});
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="ember175" class="relative ember-view">
<div id="ember177" class="occludable-update ember-view">
<div>
<span>
<div id="ember270" >
<span id="ember273" class="ember-view">
<span>ADSWG</span>
</span>
</div>
</span>
</div>
</div>
<button id="btnShow">SHOW DIV</button>
<button id="btnHide">HIDE DIV</button>