現在選択されているタブとその内容を置き換える最良の方法は何ですか? コンテンツは URL 経由ではなく、jquery で動的に生成されます。
タブ コードまたはタブ イベント ハンドラ (表示、追加など) の外部からこれを行う必要があります。ページの別の場所にリンクがあり、クリックすると次のようになります。
- タブのタイトルを変更する
- タブのクラス名を変更する
- tabcontent div のすべての要素を消去します
- tabcontent div の className を変更します
- tabcontent div 内に新しいコンテンツを生成する
このリンクの click() ハンドラーが持つ唯一の参照は、JQuery タブ オブジェクト ($Tabs) への参照であることに注意してください。で選択したタブを取得できます$Tabs.tabs('option','selected')
。しかし、選択したタブのタブとパネルへの参照を取得するにはどうすればよいですか? jquery のタブ ハンドラ (show、add など) 内で、ui.tab
andui.panel
にアクセスできますが、タブ オプションからそれらを取得する方法はありますか?
現在選択されているタブを単純に削除してから、同じインデックスの場所に新しいタブを追加する方がよいでしょうか? タブのコンテンツを生成するコードを add() ハンドラーに入れる必要があると思います。
編集:誰も提案がないことに驚いています。現在選択されているタブを削除してから、同じ場所に新しいタブを追加することで機能しています。高速なブラウザでは、これは適切な解決策ですが、JavaScript が遅いブラウザでは、実際にタブが消えてから新しいタブが表示されます。動作しますが、実際には最適ではありません。