2009-07-24 5 views
12

動的に生成されたタブをプログラムで追加/削除するために、動的jQueryタブウィジェットを使用しています。jqueryの既存のタブの数を数えますか?

jQueryをチェックして、既存のタブがウィジェットにいくつ存在するかを調べるにはどうすればよいですか?

私はこのコードを使用していますが、それは動作しません:

$('#container-1 > ul').tabs('add', tabName, name); 

var newTab; 

if ($('#container-1 > li').size() < 0) { 
    newTab = $(tabName).css('display', 'block') 
} else { 
    newTab = $(tabName).css('display', 'none'); 
} 

newTab.html('<iframe src="ViewPatient.aspx?pname=' + name 
     + '" width="100%" frameborder="0" scrolling="no" height="300"></iframe>'); 

答えて

21
var tabCount = $(tabContainer).tabs("length"); 
+11

これはもはやjQueryのUI-1.10.0で動作します。 http://jqueryui.com/upgrade-guide/1.9/#deprecated-length-method Wolfgangの解説を参照してください。 – jcoffland

43

ただ、 "#selectorは" あなたが持っているセレクタである

$('#selector >ul >li').size(); 

以下のコードを使用しますタブの作成に使用されます。

UPDATE

size()機能は今のソリューションです、もはや存在しません:

$('#selector >ul >li').length; 
+6

これはjQuery-UIが推奨する正式な解決策です。 – jcoffland

+0

私はこれがはるかに効率的で可読であると言いたいと思います: $( "selector")。find( ".ui-tabs-nav")。children()。 セレクタはタブの作成に使用したセレクタです。 – Juan

+1

jQueryの.size()関数は[バージョン1.8で非推奨]です(http://bugs.jquery.com/ticket/10657)。 '$( '#selector> ul> li')。length;' – JSmitty

関連する問題