jQuery UI の tab で現在表示しているタブを削除する。

シェアする

jQuery UI の tab は動的に追加したり消したりできるんですけど、消すときにちょっとメンドクサイ。
消す対象の tab の数値を渡さなければいけないのだが、その数値を取得する手段が見つけれなかったからだ。

というわけで function 一個書いた。

function removetab(id) {
  var obj = $(id + ' ul:first li');
  for (i=0; i<obj.length; i++) {
    if (obj[i].className.indexOf('ui-state-active') > 0) {
      $(id).tabs('remove', i);
    }
  }
}

removetab('#tab');

現在アクティブなタブには ui-state-active と ui-tabs-selected の二つの class が付与されるので、それを見て判別している。あとは数えて index を渡してやればおk。

Sponsored Link

シェアする

フォローする