2012-03-20 7 views
0

[OK]を何かをしている1、知っているので、私のようなすべてのli項目とインデックス、取得する方法を知っている:は、任意の李をクリック応じ

totalLi = $('.content li').length; 
clck = $('li.content).index(); 

と任意の李のクリックを許可するために何かを書くには、そのような $( '。コンテンツli')をクリックします(function(){something})

しかし、私はどのようになるかわかりません: "それがどれであるかを特定し、それに基づいて、何かをアニメーション化する関数にパラメータを送る」

私が執着している部分は、次のようになります。 #( '。content li')。クリックします。変数を使用してインデックス値を取得する方法がわかりません。私は "this"で全面的に働いていますが、警告するだけで[object]が返されるので、ジェネリックになります。

私は変数にインデックスを設定する必要がありますが、おそらくそうではないと思いますか?

私は動的なルーチンを持っているので、5または15のliがあるかどうかを知りたいのですが、それらをクリックして何かを起こすことができます。スナッパーは前と次のアイテムが必要です。私はそれらを簡単に見えるようにすることができますが、+1または-1を繰り返すことは、a、b、c、dなどのliに干渉するように思えます(数字の代わりに、リストは単なるナビゲーションです任意の数字をクリックすることができます...それは線形ではありません)

私はee()と最初/最後などで遊んだことがあります。

+0

あなたが起こるしたいものを示している単純化されたHTMLを投稿することができますか? – GregL

答えて

1
$('.content li').click(function(){ 
    var ind = $(this).index(); 
}) 

これは機能しませんか?

$('.content li').click()は、各li要素のclickイベントをバインドします。その後、$(this)を参照すると、clickイベントを発生させた要素に誘導され、その要素を直接使用できます。 index()、text()、html()などの任意の属性が必要です。

0

あなたは$(this)ウィッヒでクリックし、現在の値を取得することができますが、あなただけの

チェックアウトこのサンプルhttp://jsfiddle.net/TKPNt/

<ul id="list"> 
<li id="1">value 1</li> 
<li id="2">value 2</li> 
</ul> 

$('#list li').click(function(){ 
alert($(this).attr('id')); 
});​ 
​ 

あなたはより多くの支援が必要な場合はあなたが言うことができますをクリックし、この現在の要素を示し

+0

これは他の分野でも役に立ちますが、私が探しているものほど動的ではありません....特定のIDを扱うコードを明示的に書くと、上記のようにIDを将来のリストに追加する必要があることを意味しますそれは役に立ちました、ありがとう! – lbreau

1

あなたはどの特定の要素がクリックされているかを判断できるように、各li要素にidを使用/割り当てる必要があります。 Dejan.Sと非常によく似ています。

<ul> 
    <li id="1">..</li> 
    <li id="2">..</li> 
    <li id="3">.. 
</ul> 

$('li').click(function() { 
    switch($(this).attr('id')) { 
     case 1: alert('you clicked li #1'); break; 
     case 2: ...do something else 
     case 3: ...do something else 
    } 
}); 
+0

はい、私の小さなリストで、私はこれをやったが、あまりにも動的ではありません。将来的には大規模なリストを作成するために、新しいケースステートメントを手動で追加する必要がありますが、ここでスイッチをどのようにセットアップするかについてのいくつかの洞察があります。 (私はまだ投票できません) – lbreau

+0

うれしい私は小さな助けをしました:) –

0

これをチェックアウト...

http://jsfiddle.net/TKPNt/2/

+0

私の問題は、今、if文の中で 'this'を使っていると思います。 これは動作しないようです: $( '#list li'){ var moby = this.index(); if(moby == 1){ $(moby)。 addClass( 'current'); } }); – lbreau

+0

ここでは間違いをしています。this.index()は$(this).index()です。変更を加えて私に知らせてください。 – Vins

+0

ええええええええええええええええええええええええええええええん if(moby == 1){ $(moby).addClass( 'current'); } }); – lbreau

関連する問題