1

jquery の折りたたみ可能なパネル スクリプト (メニューとして使用) をダウンロードしましたが、正常に動作していますが、.NET と組み合わせて使用​​し、表示中のページに基づいて特定のパネルを展開しようとしています。 、しかし、試したすべての組み合わせに関係なく、ものを選択できないようです。HTML は次のようになります。

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

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

スクリプトに渡される .net 変数が正しいことを確認しました。ソースを表示すると、1990 と表示されます。では、何が間違っているのでしょうか? ありがとう。

編集: 明確化、年は動的であり、それが私のデータと一致する必要があるため、少なくとも属性タイトルによるコンテナーまたは年を含む :contains による ContainerTitle の基本選択から開始する必要がありますが、必要です最後に ContainerContent を選択して、切り替えられるようにします。

4

2 に答える 2

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

トリックをしました。

于 2011-01-11T16:10:49.823 に答える
1

このように書き直す必要があります...

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

..スペースは非常に重要です。

于 2011-01-10T23:43:15.427 に答える