2010-07-01 34 views

Trả lời

58

Bạn có để đếm các yếu tố li không phải là yếu tố ul:

if ($('#menu ul li').length > 1) { 

Nếu bạn cần mọi phần tử UL có chứa ít nhất hai yếu tố LI, sử dụng chức năng lọc:

$('#menu ul').filter(function(){ return $(this).children("li").length > 1 }) 

Bạn cũng có thể sử dụng điều đó trong điều kiện của mình:

if ($('#menu ul').filter(function(){ return $(this).children("li").length > 1 }).length) { 
0
alert("Size: " + $("li").size()); 

hoặc

alert("Size: " + $("li").length); 

Bạn có thể tìm thấy một số ví dụ về các phương pháp .size() here.

+3

** Chỉ cần để tham khảo thêm ... ** Lệnh '.size()' phương pháp bị phản đối như của jQuery 1.8. Sử dụng thuộc tính '.length' để thay thế. [deprecated-1.8] (http://api.jquery.com/category/deprecated/deprecated-1.8/) – gmo

17

Cú pháp đúng là

$('ul#menu li').length 
7
alert("Size: " + $("li").size()); 

alert("Size: " + $("li").length); 

Cả .size() và .length số lợi nhuận của mặt hàng. nhưng phương thức size() không được chấp nhận (JQ 1.8). .length thuộc tính có thể sử dụng thay vì kích thước().

bạn cũng có thể sử dụng

alert($("ul").children().length); 
5

Working jsFiddle

Vui lòng sử dụng .size() chức năng thay vì .length và cũng chỉ định thẻ li trong selector.

Thay đổi mã của bạn như thế nào.

if ($('#menu ul li').size() > 1) { 
4

Sử dụng $('ul#menu').children('li').length

.size() thay vì .length cũng sẽ làm việc

Các vấn đề liên quan