2011-11-30 9 views
-2

私は、クリックすると色を変更したいという要素があります。さて、私はそれぞれの色を割り当てています(つまり、リストの最初の色であればこの色、それが2番目の色であれば...)。しかし、どの色をどのようにして確認するのですか?同様に、私が3番目をクリックすると、それが3番目であったことをどのようにして知ることができますか?それのためのjavascriptメソッドまたはjQueryメソッドがありますか?Javascriptで要素を取得しますが、ドキュメント内の要素は何ですか?

おかげ

+1

あなたのHTMLのサンプルをご提示ください。 – jfriend00

答えて

1

jQueryのは、あなたが欲しいものを行う必要があり.index()方法が、あります。そして、これを行う

var els = $('.my_group_of_elements'); 

を。

例:http://jsfiddle.net/au2fQ/


HTML

<ul id="Test"> 
    <li>Click Me</li> 
    <li>Click Me</li> 
</ul> 
<ul id="Test2"> 
    <li>Click Me 2</li> 
    <li>Click Me 2</li> 
</ul> 

JS

$('li', '#Test,#Test2').click(function(){ 
    var i = $(this).index(), 
     k = $(this).index('li'); 
    alert('This is li '+i+' in the ul. This is li '+k+' in the page.'); 
}); 
+0

ありがとうございます、あなたの例はすべてを明確にしました。 – KerrM

+0

ようこそ。お役に立てて嬉しいです。 –

4

彼らは兄弟なら:

$(this).index(); 

これは、0から始まるインデックスを返しますので、第三は2です。

彼らは兄弟じゃない場合は、設定したキャッシュ:

els.index(this); 
+0

あなたの答えをありがとう。私は結局$(this).index( 'canvas')を使いました。あなたが将来それを使用する必要がある場合に備えて、私はあなたの答えを念頭に置いておきます! – KerrM

+1

@KerrM:ようこそ。 '$(this).index( 'canvas');は毎回すべての' canvas'要素のDOM選択を行います。キャンバス要素の数が変更されない限り、セットをキャッシュし、 'canvases.index(this)'を実行する方が効率的です。覚えておいてください。 :) – RightSaidFred

+0

ありがとう、私はそれを念頭に置いておきます。 – KerrM

関連する問題