2010-04-05 29 views
6

Basit bir listeden başlayarak:Gizli olmayan liste öğelerini nasıl sayabilirim?

<ul> 
    <li>Item 1</li> 
    <li style="display: none;">Item 2</li> 
    <li>Item 3</li> 
</ul> 

Gizli elemanların listeden çıkarılabileceğini biliyorum

$('ul li').size() - $('ul li:hidden').size() 

Ama bunun jQuery ile elde edilebilmesi için daha zarif bir yol olabileceğini düşündüm:

$('ul li:hidden:not').size() 

Bu çalışmıyor. Herhangi bir fikir?

cevap

22

:hidden'un tam karşılığı :visible - jQuery docs.

$('ul li:visible').size() 
+0

Oh jeez, teşekkürler. Şimdi aptal hissediyorum. Bunu yapmak için google aramamı ifade etmek çok zordu. – Baloneysammitch

+0

: Dokümanların gizli sayfasında başlarsanız (http://api.jquery.com/hidden-selector/) ve sağ üstteki kategorilerde "Görünürlük Filtresi" ni tıklarsanız onu bulabilirsiniz. JQuery belgeleri çok iyi. –

+0

, '.size()' yerine '.length 'kullanmalıdır. 'size()' '.length'in – zgr024

2

basit formudur:

Yan not
var hidden = $("ul > li:hidden").length; 

doğru :not() kullanımı:

var hidden = $("ul > li:not(:visible)").length; 

Son olarak bir jQuery nesnesi size() yöntem ve length özelliği, destekler değiştirilebilir.

+0

olmadığı bir işlev çağrısının yüküne sahiptir. Aşağıdaki yardım için teşekkürler:() Bu tür koşulları kotasyonlara koyabileceğinizi bilmiyordum. – Baloneysammitch

İlgili konular