2011-01-10 8 views
1

jquery折りたたみ可能なパネルスクリプト(メニューとして使用)をダウンロードしましたが、これはうまくいきましたが、.NETと組み合わせて使用​​しており、拡大表示するページに基づいて特定のパネルを作成しようとしていますそれはパネルですが、私が試したすべての組み合わせに関わらず、私はその事を選択することはできません。私は初期のものを実行した後に、この行を書くことに成功し、すべてのパネルを切り替えることができます今、このスクリプトの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> 

:ここではHTMLのように見えるものである

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

しかし、もちろんありますので、ページ上のこれらのパネルの倍数で、私はそれらをすべてトグルしたくない、私が見ている特定のページに関連するものだけをトグルしたい。私はこれを次のように試しました:

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

他の組み合わせの中でもあります。私は決してこの複合体の前にセレクタを使用する必要はありませんでした(少なくとも私のためには複雑です)。どのようにできるのか? .collapsibleContainerContentを選択し、適切な10年のコンテナ内にあるslideToggle()を選択する必要があります。

私は、1990年のソースを見ると、.net変数がスクリプトに渡されていることが正しいことを確認しました。どうしたのですか?ありがとう。

編集:明らかに、年は動的で、私のデータと一致させる必要があります。少なくとも、コンテナの属性タイトルまたはContainerTitleのいずれかの基本選択から始める必要があります。しかし、私はそれを切り替えることができるようにContainerContentの選択で終わる必要があります。

答えて

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

トリックはしましたか?

1

あなたは..theスペースはすべて重要です

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

...このように再書き込みする必要があります!

+0

これは正しくなく、Jquery自身のサイトでも正しくありません。http://api.jquery.com/class-selector/スペースは使用しません。 – SventoryMang

+0

@ sah302しかし、それは動作しましたか? –