2013-05-15 24 views
0

我有一個帶有8個項目的內容摺疊的頁面。我在手風琴外的頁面上也有h4標籤。我想隱藏哪個內容的手風琴項目與h4標籤中的文字相匹配。當標記具有多個實例時,如何爲類的一個實例設置CSS

h4標記和內容accordion項目內的文本可能會改變,所以我需要使用變量(我認爲)。

這是我到目前爲止有:

var category = $('.leftColumnNav h4').html(); 
var topic = $('.contentAccordionItemTitle p').html(); 

if(topic === category){ 
    $(".contentAccordionItemTitle").css("display", "none"); 
} else { 
    $(".contentAccordionItemTitle").css("display", "block"); 
} 

我已經有點作品。它成功隱藏了.contentAccordionItemTitle。不幸的是,它顯然隱藏了所有這些。我只想隱藏與h4標記匹配的那個。

如果需要,我可以創建一個JSFiddle示例。

+3

你能告訴你的HTML標記元素..? – PSL

+4

「如果需要,我可以創建一個JSFiddle示例。」將jsFiddle加入這樣的問題通常是個好主意。 – j08691

回答

1
var category = $('.leftColumnNav h4').text(); 

$(".contentAccordionItemTitle").each(function() { 
    if ($(this).text() === category) { $(this).hide() } 
}) 
+0

謝謝!這一個工程。 – noahcg

0
var topic = $('.contentAccordionItemTitle p').html(); 

該行意味着您將獲得所有p標籤。如果你想繼續走這條解決方案,你可以使用jQuery的每一個功能 - >http://api.jquery.com/each/

 $(".contentAccordionItemTitle").css("display", "none"); 
    } else { 
     $(".contentAccordionItemTitle").css("display", "block"); 

$(".contentAccordionItemTitle")也得到這個類的所有元素。

0

你應該使用一個循環,如jQuery每個:

var category = jQuery('.leftColumnNav h4').html(); 
jQuery('.contentAccordionItemTitle p').each(function() { 
    if(jQuery(this).html() === category) { 
     jQuery(this).parent('.contentAccordionItemTitle').css('display', 'none'); 
    } else { 
     jQuery(this).parent('.contentAccordionItemTitle').css('display', 'block'); 
    } 

這是假設只有一個符合jQuery('.leftColumnNav h4')

相關問題