2011-01-10 61 views
1

我下載了一個jQuery可摺疊面板腳本(用作菜單),我已經正常工作,但是我將它與.NET結合使用,並試圖根據您正在查看的頁面展開某個面板來展開它的面板,但我似乎無法選擇的東西,不管我嘗試過的所有組合。下面是HTML的樣子:jquery複雜選擇器,匹配類名的父項的子項切換?

<div class="collapsibleContainer app ui-widget" title="1990"> 
    <div class="collapsibleContainerTitle app ui-widget-header"> 
     <div>▸1990</div> 
    </div> 
    <div class="collapsibleContainerContent app ui-widget-content" style="display: none; "> 
     Text Stuff 
    </div> 
</div> 

現在對這個劇本我運行初始的東西后,寫這條線將成功切換所有面板:當然

$(".collapsibleContainerContent").slideToggle(); 

然而,因爲有頁面上這些面板的倍數,我不希望它們全部切換,只是與我正在查看的特定頁面相關的那一個。我試過這樣的:

$(".collapsibleContainerTitle.app.ui-widget-header:contains('<%= Decade %>')").parent().slideToggle(); 
$(".collapsibleContainer.app.ui-widget-header[title='<%= Decade %>'] > .collapsibleContainerContent").slideToggle(); 

在其他組合中。我從來沒有必須使用這個複雜的選擇器(至少對於我來說是複雜的)。我能怎麼做?我需要選擇.collapsibleContainerContent和slideToggle(),它位於相應的十進制容器內。

我已經確認,傳遞給腳本的.net變量是正確的,當查看源代碼時,它說的是1990.那麼,我在做什麼錯了?謝謝。

編輯:澄清,年份是動態的,這就是我必須匹配我的數據,所以我需要將開始至少與容器的屬性標題或ContainerTitle的基本選擇:包含年份,但我需要以ContainerContent選擇結束,以便我可以切換它。

回答

1
$(".collapsibleContainerTitle.app.ui-widget-header:contains('<%= NoteDecade %>')").parent().children(".collapsibleContainerContent").slideToggle(); 

訣竅。

1

你需要重新寫這樣的...

$(".collapsibleContainerTitle .app .ui-widget-header:contains('<%= Decade %>')").parent().slideToggle(); 

..the空間是所有重要的!

+0

這是不正確的,甚至在Jquery自己的網站上:http://api.jquery.com/class-selector/他們不使用空格。 – SventoryMang 2011-01-11 15:34:21