2009-07-24 17 views
12

Estoy usando un widget de pestaña jQuery dinámico para agregar/eliminar pestañas generadas mediante programación.cuenta el número de pestañas existentes en jquery?

¿Cómo reviso a través de jQuery y cuento cuántas pestañas existen en el widget?

estoy usando el código, pero no funciona:

$('#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>'); 

Respuesta

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

Esto ya no funciona en jQuery-UI 1.10.0. http://jqueryui.com/upgrade-guide/1.9/#deprecated-length-method Vea la solución de Wolfgang. – jcoffland

43

sólo tiene que utilizar el código de abajo

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

donde "#selector" es el selector tiene utilizado para crear las pestañas.

función UPDATE

size() no existe más, ahora la solución es:

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

Nota, esta es ahora la solución oficial recomendada por jQuery-UI. – jcoffland

+0

Diría que esto es mucho más eficiente y legible: $ ("selector"). Find (".ui-tabs-nav"). Children(). Length; donde selector es el selector que ha utilizado para crear las pestañas .. – Juan

+1

La función .size() de jQuery estaba [en desuso en la versión 1.8] (http://bugs.jquery.com/ticket/10657). Utilice la propiedad .length en su lugar: '$ ('# selector> ul' li '). Length;' – JSmitty

Cuestiones relacionadas