如何基于内部SPAN

时间:2019-08-22 12:54:53

标签: jquery greasemonkey tampermonkey userscripts

请提供建议-如何使用Tampermonkey删除/隐藏整个div块?代码如下所示: 如果它在父div“相对余烬视图”的深处包含文本ADSWG的跨度,如何删除整个div“相对余烬视图”? 因此,在网页上有很多“相对ember-view” -div,但我只想删除其中的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>

2 个答案:

答案 0 :(得分:6)

如果您在TamperMonkey脚本中引用jQuery(我将假设在问题上给出标签),那么这是使用:has:contains和{ {1}}:

remove()
$('div.relative.ember-view:has(span:contains("ADSWG"))').remove();

答案 1 :(得分:0)

使用$.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>