2016-10-29 37 views
0

我试图让我的第一Tampermoney脚本隐藏在其中的子div包含特定文本

下面是一个HTML页面的例子主要DIV:

<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

我想隐藏divs class =“a”,只要它包含一个div class =“n”,其中包含文本“Hello world”。 我是否需要循环所有的div class =“a”,寻找包含“Hello world”的class =“n”?我需要一些帮助,请...

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

简单地隐藏类别n $(” 。.N')隐藏(); [ttps://jsfiddle.net/tjbaezid/kqd0pav0/]是你在看? –

+0

这只会隐藏类“n”div,我希望隐藏类“a”div,如果它包含带有“Hello World”的类“n”div,是否更清晰: - /? – Jaggana

+0

请检查答案如果它的错误让我知道 –

回答

0

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

更新:在你的代码在你的父母DIV你有5类_5jmm,_5pat,_3lb4,m_95yeui-J,_x72问题,但你写的jQuery最接近(” 5jmm _5pat _3lb4 m_95yeui-J _x72' )。隐藏()。所以你只能设置一个最接近的类。而你不

 
 
$(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>

+0

似乎工作找到,thx哥们! – Jaggana

+0

@Jaggana欢迎:) –

+0

@Jaggana load()方法在jQuery版本1.8中被弃用[已过时],并在版本3.0中被删除。编辑我的答案,你可以尝试 –

0

Hmmmm,我想这需要一些ajustements ... 这里是我的代码:

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

的网页:

enter image description here

及相关代码:

<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> 

当我尝试在控制台执行COMMANDE:

$('._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