2009-07-24 9 views
12

Tôi đang sử dụng tiện ích tab jQuery động để thêm/xóa các tab được tạo theo chương trình.đếm số lượng các tab hiện có trong jquery?

Làm cách nào để kiểm tra qua jQuery và đếm số lượng tab hiện có trong tiện ích con?

Tôi đang sử dụng mã này, nhưng nó không hoạt động:

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

Trả lời

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

này không còn hoạt động trong jQuery-ui 1.10.0. http://jqueryui.com/upgrade-guide/1.9/#deprecated-length-method Xem giải pháp của Wolfgang. – jcoffland

43

Chỉ cần sử dụng mã dưới đây

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

nơi "#selector" là bộ chọn bạn có được sử dụng để tạo các tab.

CẬP NHẬT

size() chức năng không tồn tại nữa, bây giờ giải pháp là:

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

Lưu ý, đây là giải pháp chính thức được đề xuất bởi jQuery-UI. – jcoffland

+0

Tôi muốn nói điều này hiệu quả hơn và dễ đọc hơn: $ ("selector"). Tìm (". Ui-tabs-nav"). Children(). Length; trong đó bộ chọn là bộ chọn bạn đã sử dụng để tạo các tab .. – Juan

+1

Chức năng .size() của jQuery đã không được chấp nhận trong phiên bản 1.8] (http://bugs.jquery.com/ticket/10657). Sử dụng thuộc tính .length thay vào đó: '$ ('# selector> ul> li'). Length;' – JSmitty