2012-01-25 11 views
-2

可能性の重複:jQueryの - カウントアクティブなリスト項目

<ul id="scale"> 
    <li class="floatleft active"></li> 
    <li class="floatleft active"></li> 
    <li class="floatleft"></li> 
    <li class="floatleft"></li> 
    <li class="floatleft"></li> 
</ul> 

それでは、今起こることはjQueryを経由ということです:
Count elements with jQuery

は、私はこのようなリストアイテムを持っています私はこれらのリストアイテムのいくつかをアクティブとして設定しました。今私がやりたいことは、アクティブなアイテムがアクティブになった後、同じページ上のこれらのアクティブなアイテムを数えることです。それを行う方法はありますか?

+4

初心者向けのチュートリアルで作業することをおすすめします。 –

+0

申し訳ありませんが、間違った質問もしました。私は私の質問を編集しました。 – Shiraz

答えて

2
document.getElementById('scale').getElementsByClassName('active').length 
8

あなたは使用することができます。

$('#scale li.active').length 
+1

ありがとう、それは解決策でなければなりません。しかし、私は同じページでjQueryを通して自分自身を起動した後、アクティブなアイテムを数えることができるようにしたいと思います。ここで起こるのは、値が実際のクラスではなくアクティブなクラスの元の値であるということです。それを解決する方法はありますか? – Shiraz

+0

これを実行すると、クラスがアクティブになっている「スケール」内のLIの数がカウントされます。 allから "active"クラスを削除すると、長さは0になります。唯一のキャッチは、結果をvarialbe、e.xに代入した場合です。var items = $( '#scale li.active');警告(items.length); 「アイテム」にアクセスするたびに、クエリが実行されたときの状態が常に反映されます。 –

0
var count = $('#scale li.active').length; 

alert(count); 

これはあなたのアクティブなリスト項目の数を与えます。

$('#scale li.active').length //efficient way 

または

$('#scale li.active').size() 

それらの両方与える:あなたはjQueryのを使用している場合

0

は、その後、あなたはこのようなものを持つことができますあなたはrequi再結論。