Javascript 如何在li中找到特定字符串>;把它藏起来

Javascript 如何在li中找到特定字符串>;把它藏起来,javascript,jquery,css,Javascript,Jquery,Css,我有一个ul列表,其中有li,在li中有div,没有类别和id。我只想找到li>div,它的文本上写着“Certificates et forfaits”,并隐藏它旁边的锚定标签。可能吗 这是我的密码 <ul class="select2-choices"> <li class="select2-search-choice"> <div>Informatique Électronique</div>

我有一个ul列表,其中有li,在li中有div,没有类别和id。我只想找到li>div,它的文本上写着“Certificates et forfaits”,并隐藏它旁边的锚定标签。可能吗

这是我的密码

<ul class="select2-choices">  
    <li class="select2-search-choice">    
        <div>Informatique Électronique</div>    
        <a href="#" class="select2-search-choice-close" tabindex="-1"></a>
    </li>
    <li class="select2-search-choice">   
        <div>Informatique Électronique &gt; Accessoires Informatique</div>
        <a href="#" class="select2-search-choice-close" tabindex="-1"></a>
    </li>
    <li class="select2-search-choice">    
        <div>Mode et Accessoires</div>    
        <a href="#" class="select2-search-choice-close" tabindex="-1"></a>
    </li>
    <li class="select2-search-choice">    
        <div>Certificats et forfaits</div>    
        <a href="#" class="select2-search-choice-close" tabindex="-1"></a>
    </li>
    <li class="select2-search-field">    
        <label for="s2id_autogen3" class="select2-offscreen"></label>    
        <input type="text" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" class="select2-input" id="s2id_autogen3" placeholder="" style="width: 20px;">  
    </li>
</ul>
  • 电子信息
  • 信息辅助电子信息
  • 模式和附件
  • 福菲证书

在我上面的列表中,我想找到文本Certificates et forfaits,它总是在div中,并且总是在li之后,一旦我发现我需要在它旁边隐藏锚定标记。我如何获得这些帮助?

尝试以下方法:使用
.filter()
获取所需的div,然后隐藏下一个锚点

$(函数(){
$('ul li>div')。过滤器(函数(){
return$(this).text()=='certificates et forfaits';
}).next().hide();
});

  • 电子信息
  • 信息辅助电子信息
  • 模式和附件
  • 福菲证书
使用

隐藏它的锚

$( "ul li>div:contains('Certificats et forfaits')" ).siblings("a").hide();

可以使用
。each()
使用
jquery

$("li").each(function(){
    if($(this).find("div").html() == "Certificats et forfaits"){
       $(this).next().hide();
    }
});

如果您知道列表中的哪个数字需要隐藏,则可以使用
:第n个子(#)
选择器。以下是如何根据提供的代码隐藏锚定标记:

.select2-search-choice:nth-child(4) a {
  display: none;
  }

请检查下面的代码片段

$(文档).ready(函数(){
$('ul li')。每个(函数(){
if($(this).children('div').text()=='certificates et forfaits'){
$(this.children('a').hide();
}
});
});

  • 电子信息
  • 信息辅助电子信息
  • 模式和附件
  • 福菲证书

如果div拥有
一些文本证书和福费,则contains可能会失败
@SudarshanKalebere:检查我的演示我想隐藏该divhappy coding@SudarshanKalebere的下一个锚定标记乐于帮助你:)是否可以具体地说一个标记而不是下一个()?我的意思是,如果我们使用特定的锚定标记,下一步可能会导致一些问题,那么将是有帮助的。在这种情况下,您可以使用特定的类来锚定标记,然后在li中找到作为父元素的元素。它对你有用吗?就像你有
select2-search-choice-close
class作为锚一样,所以用
parent()替换
next()
。find('a.select2-search-choice-close')
对你有用谢谢大家,我将放弃对每个答案的投票,因为你们都是对的。。。再次感谢]@SudarshanKalebere谢谢:)
.select2-search-choice:nth-child(4) a {
  display: none;
  }