相反:contains - 如果h2不包含特定文本,则使其可见

时间:2013-08-07 06:03:51

标签: jquery visible

我刚刚问了这个问题的相反问题并提供了很大的帮助,谢谢。现在的挑战是页面加载标题可见,然后它隐藏它(消失)所以它看起来不专业。所以,我使用从你的建议中学到的东西,尝试以相反的方式做到这一点。我已将<h2>隐藏在CSS中,现在希望JQuery在包含“所有品牌”文本时使其可见。

HTML看起来像这样:

<div class="Block Moveable Panel" id="BrandContent">
  <h2>All Brands</h2>           <--- ALWAYS HIDDEN IN CSS
  <div class="BlockContent">
     BRANDS LISTED HERE...
  </div>
</div>

我尝试了以下代码的一些组合但没有成功:

$('#BrandContent > h2:not(:contains("All Brands")').css('visibility', 'visible');

$('#BrandContent > h2:not(:contains("All Brands")').show();

提前感谢您的任何建议。中号

3 个答案:

答案 0 :(得分:4)

试试这个:

$(document).ready(function(){
    $('#BrandContent > h2:not(:contains("All Brands"))').show();  
});  

CSS:

替换:

#BrandContent h2 {
    padding-bottom: 20px;
    visibility: hidden;
}  

要:

#BrandContent h2 {
    padding-bottom: 20px;
    display: none;
}

JSFIDDLE DEMO

答案 1 :(得分:1)

缺少) -

$('#BrandContent > h2:not(:contains("All Brands"))')
                                                 ^------------

答案 2 :(得分:0)

试试这个

var $h2 = $('h2');
$h2.not($('.BrandContent > h2:contains("All Brands")')).css('visibility', 'visible')
  • 选择所有h2
  • 选择包含单词h2
  • 的所有All Brands
  • 使用not将为您提供不包含单词的h2。

<强> Check Fiddle