2013-08-07 27 views
-1

我剛剛問了幾乎相反的這個問題,並有很大的幫助,所以謝謝。現在的挑戰是頁面加載的標題可見,然後它隱藏(消失),所以它看起來不專業。所以我用我從你的建議中學到的東西,試圖以相反的方式做到這一點。我在CSS中隱藏了<h2>,並且現在要讓JQuery使其可見,如果它不包含包含文本「所有品牌」。相反:contains - 使h2可見,如果它不包含特定文本

的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(); 

感謝您提前有什麼建議麼。中號

+0

你的括號不均衡。解決這個問題,我敢打賭它會起作用。 – Barmar

回答

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

+0

嗨@Dh,我可以看到它在JSFiddle中工作(謝謝!),但它不在我的網站頁面上運行。我將繼續嘗試,因爲在頁面上沒有其他JS定位到h2。謝謝您的幫助! – TheRealPapa

+0

@ user2469528我剛剛更新了我的答案,因此請仔細閱讀並確保您已將代碼寫入DOM中。 –

+0

嗨@Dh,再次感謝,但沒有任何區別。如果可以,請查看http://itoutlet.com.au/brands/ACER.html。 h2應該出現在免費送貨橫幅下......正如我所說,已經有14個小時的時間了! – TheRealPapa

1

缺少) -

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

我剛剛平衡括號,但它沒有區別?所以語法是正確的,所以我會繼續擺弄它。謝謝,一天太久了! – TheRealPapa

0

試試這個

var $h2 = $('h2'); 
$h2.not($('.BrandContent > h2:contains("All Brands")')).css('visibility', 'visible') 
  • 選擇所有h2
  • 選擇包含單詞All Brands
  • 使用所有會給你不包含單詞的h2。

Check Fiddle

相關問題