【问题标题】:Hide main div in which sub div contains specific text隐藏子 div 包含特定文本的主 div
【发布时间】:2016-10-29 08:28:52
【问题描述】:

我正在尝试制作我的第一个 Tampermoney 脚本

这是一个 html 页面的示例:

<div class="a">
  <div class="b">
    "Hello world"
  </div>
  <div class="n">
    "Test"
  </div>
</div>
<div class="a">
  <div class="d">
    <div class="e">
      ...
        <div class="n">
          "Hello world"
        </div>
    </div>
  </div>
</div>

我发现这个话题很有趣,但我无法使其符合我的要求:Hiding div that contains specific string

仅当 div class="a" 包含包含文本“Hello world”的 div class="n" 时,我才想隐藏它。 我是否需要循环所有 div class="a",以寻找包含 "Hello world" 的 class="n" ?我需要一些帮助...

<div class="a">
  <div class="b">
    "Hello world"
  </div>
  <div class="n">
    "Test"
  </div>
</div>

【问题讨论】:

  • 简单隐藏类 n $('.n').hide(); [ ttps://jsfiddle.net/tjbaezid/kqd0pav0/ ] 你在看吗??
  • 这只会隐藏类“n” div,如果它包含一个带有“Hello World”的类“n”div,我希望隐藏类“a”div,是否更清楚: -/ ?
  • 请检查答案如果错误请告诉我

标签: html hide userscripts


【解决方案1】:

嗯,我认为它需要一些调整... 这是我的代码:

$(window).load(function(){
    $('._5g-l:contains("Publication suggérée")').closest('._5jmm _5pat _3lb4 m_95yeui-j _x72').hide();
});

网页:

以及相关代码:

<div data-fte="1" data-ftr="1" class="_5jmm _5pat _3lb4 m_95yeui-j _x72" id="hyperfeed_story_id_581d0a6f0b12a3832990101" data-testid="fbfeed_story" [...]>
    <div class="_4-u2 mbm _5v3q _4-u8" id="u_jsonp_2_1f">
        <div class="_3ccb _4-u8" [...]>
            <div></div>
            <div class="userContentWrapper _5pcr" role="article" aria-label="Actualité">
                <div class="_1dwg _1w_m">
                    <div class="_5g-l"><span>Publication suggérée</span></div>
    [...]

另外,我不能放网页:

<script src="https://code.jquery.com/jquery-3.1.0.min.js"></script>

当我尝试在控制台中执行命令时:

$('._5g-l:contains("Publication suggérée")').closest('._5jmm _5pat _3lb4 m_95yeui-j _x72').hide();
(unknown) Uncaught Error: <![EX[["Tried to get element with id of \"%s\" but it is not present on the page.","._5g-l:contains(\"Publication suggérée\")"]]]>
    at h (https://www.facebook.com/rsrc.php/v3/yZ/r/AveNRnydIl_.js:36:166)
    at i (https://www.facebook.com/rsrc.php/v3/yZ/r/AveNRnydIl_.js:36:293)
    at <anonymous>:1:1

【讨论】:

    【解决方案2】:

    我认为这会对您有所帮助。如果类 .a 包含带有 text("hello world") 的 .n ,则需要隐藏 .a 。我只是编辑你的 HTML 部分并注释掉哪个 div 将被隐藏。根据您的 HTML,第一个不会隐藏,因为 .n 包含“测试”。 如果有任何问题或您发现我的回答有任何问题,请询问我。 :) Live On Fiddle

    更新:在您的代码中,您的父 div 中的问题有 5 个类 _5jmm、_5pat、_3lb4、m_95yeui-j、_x72,但您使用 jQuery 最接近('.5jmm _5pat _3lb4 m_95yeui- j _x72').hide()。所以你只能设置一个最接近的类。而你没有

        
     $(window).on('load', function() {
       $('._5g-l:contains("Publication suggérée")').closest('._5jmm').hide();
    });
    
    
     
    <script src="https://code.jquery.com/jquery-3.1.0.min.js"></script>
    
    <div data-fte="1" data-ftr="1" class="_5jmm _5pat _3lb4 m_95yeui-j _x72" id="hyperfeed_story_id_581d0a6f0b12a3832990101" data-testid="fbfeed_story" [...]>
      <div class="_4-u2 mbm _5v3q _4-u8" id="u_jsonp_2_1f">
        <div class="_3ccb _4-u8" [...]>
          <div></div>
          <div class="userContentWrapper _5pcr" role="article" aria-label="Actualité">
            <div class="_1dwg _1w_m">
              <div class="_5g-l"><span>Publication suggérée</span></div>
            </div>
          </div>
        </div>
      </div>
    </div>

    【讨论】:

    • @Jaggana load() 方法在 jQuery 1.8 版中已被弃用[已过时],并在 3.0 版中被删除。编辑我的答案,您可以尝试
    猜你喜欢
    • 2018-03-29
    • 1970-01-01
    • 2022-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-24
    • 2019-10-11
    相关资源
    最近更新 更多