2009-08-07 13 views
0

私はループを作成して、順序付けられていないリスト内の各アンカーを反復し、アンカー内の画像に対してアクションを実行しようとしています。マークアップは次のようになります。jQueryの各ループでクリックされた項目をスキップします

いずれかのアンカーのクリックイベントによってループがトリガーされます。

$("a").click(function(){ 
    $("a").each(function(){ 
     if (THIS IS THE CLICKED ON ANCHOR == TRUE) { 
      // SKIP THIS ITEM 
     } 
     else { 
      $("img",this).actions(); 
     }; 
    }); 
}); 

私はちょうどそれがアンカー上でクリックされた場合に、アイテムをスキップ一部が必要だと思うが、私は別のアプローチに並置いないよ:私はこれまでのところ、以下のJSを持っています。

私はjQuery 1.3.2を使用しています。

ありがとうございます!

答えて

6

$("a").click(function(){ 
    var clickedItem = this; 
    $("a").each(function(){ 
     if (this == clickedItem) { 
      // SKIP THIS ITEM 
     } 
     else { 
      $("img",this).actions(); 
     }; 
    }); 
}); 
+0

これははるかにクリーンな実装です。ありがとうございました。 – Ben

1

あなたは試みることができる:私は簡単な方法があると思う

$("a").click(function(){ 
    var clickedOnAnchor = this; 
    $("a").each(function(){ 
     if (clickedOnAnchor == this) { 
      // SKIP THIS ITEM 
     } 
     else { 
      $("img",this).actions(); 
     }; 
    }); 
}) 
+0

ありがとうございます!私はちょうど私が頼んだ直後にそれを実現したあなたは私の前に答えを投稿するための信用を得る。 – Ben

0

が、私はそれを考え出したように、私はちょうどクリックイベントからこのを保存するために必要なルックス

$("a").click(function() { 
    $("a").not(this).find('img').actions(); 
}); 
+0

気をつけろ! 'var'キーワードなしで(あなたのケースでは' clickedOnAnchor'のような)変数を宣言すると、**グローバル**変数になります。あなたはおそらくそれを望んでいません。 –

+0

ベン - これは必要以上に複雑だと思います。私の答えを見てください。 – tvanfosson

関連する問題