2011-07-24 7 views
2

のは、あなたがこのような2つのセレクタを持っているとしましょう:

$(".class1, .class2").click(function() { 
    $(this).hide(); 
}); 

$(this)は、両方のセレクタを指しているようです。 1つだけを参照する方法はありますか? (私はそれがそれらのクラスを持つ複数の要素がある場合にクリックされている要素を参照したいので、ちょうど.class1.class2を使用することを意味いけない。)

私はちょうどあなたが二度同じことを書くことができることに気づいたが、それはとても素敵ではありません。

$(".class1").click(function() { 
    $(this).hide(); 
    $(.element).show(); 
}); 

    $(".class2").click(function() { 
     $(.element).show(); 
}); 
+0

これは実際には非常に良い質問です。 +1 – AlienWebguy

答えて

4
if ($(this).is(".class2")) 

+0

+1。毎日何か新しいことを学ぶ。 – AlienWebguy

+1

これは問題で解決された問題を解決しますが、質問自体は正確ではありません - muが短すぎるために注意してください(http://stackoverflow.com/questions/6804806/using-this-with複数のセレクタ - あなたが他を参照できる/他の/ 6804834#6804834)、「this」はクリックされた要素のみを参照します。 –

+0

$(this).hasClass( "class2")を使用することもできます – Dennis

5

いや、ここで:

$(".class1, .class2").click(function() { 
    $(this).hide(); 
}); 

thisは、クリックされた単一の要素のみを参照します。あなた自身のため

ボタンをクリックし、次を参照してください。http://jsfiddle.net/ambiguous/GyEck/

関連する問題