2012-03-26 13 views
0

これはjQueryの使い方です。私はちょうど次のための迅速なソリューションが欲しい:

それは非常に簡単です; div#a1.toolbotbutをクリックすると、div#a1pが表示されます。 #a2.toolbotbutをクリックすると、div#a2pが表示されます。 #のb2.toolbotbutをクリックすると、DIV#1 B2Pが示されている、などなど のでindivdual jqueryのは、次のようになります。

$('#a1.toolbotbut').click(function() { 
    $('#a1p.overlay').fadeIn('slow'); 
    }); 

$('#a2.toolbotbut').click(function() { 
    $('#a2p.overlay').fadeIn('slow'); 
    }); 

あなたはどのように$を使用する方法を教えてもらえ(this)またはvarを使って選択したdivのIDを取り出し、$( '... p.overlay')に挿入すると、関数全体に対して2行のコードを使用できます。私がここに必要な基本的なテクニックを隠すことやマークすることを心配しないでください。

ありがとうございます。

答えて

2

このように:

$('.toolbotbut').click(function() { 
    var id = $(this).attr('id'); 
    var overlayId = '#' + id + 'p.overlay'; 
    $(overlayId).fadeIn('slow'); 
}); 
+0

ありがとうございます!正確に私が知る必要があったもの – 21stcn

1

this変数は、クリックイベント(すなわち、#a1.toolbotbut)関数()を呼び出してオブジェクトを指します。関数内のthisを参照する場合は、実際には#a1.toolbotbutを参照しています。 $()のthis$(this)とすると、#a1.toolbotbutがjQueryオブジェクトになります。

jQueryのオブジェクトは、属性やプロパティを返しますattr方法を、持っているので、あなたのような何かを行うことができます:私はあなたが求めているものと、これが役立つことに理解を願ってい

var div_id = $(this).attr(); // returns "a1" 

を。がんばろう。

+0

あなたは正しく理解しました。ご協力いただきありがとうございます。 – 21stcn

関連する問題