2011-06-30 7 views
0

を介して、選択されたクラスを知ることができます任意のリンク上はどのように私は私がリンクを持つリスト持っているのjQuery&JS

<li class="link-1"><a href="#">One</a></li> 
<li class="link-2"><a href="#">Two</a></li> 
<li class="link-3"><a href="#">Three</a></li> 
.. 

ユーザーがクリックし、その後、jQueryを使って私は気にいらない...]リンクの内容を表示したいですlike:

$(".link-??? a").click(function() { 
    alert($(".link-??? a").html()); 
}) 

このようなものです。私は(リンクの数として)X関数を作成するつもりはないので、どうすればいいですか?私は、クリックされた要素を参照する必要があります。..

答えて

2

あなた行うことができます:liは唯一のクラスを持っている場合、またはlink-Xクラスがリストの最初にある場合

$('li[class^="link"] a').click(... 

しかし、これはのみ動作します。あなたはa要素を参照するために$(this)を使用することができハンドラ内

:はるかに良い

alert($(this).text()); 

li要素の共通クラス与えることを次のようになります。

<li class="link"><a href="#">One</a></li> 
<li class="link"><a href="#">Two</a></li> 
<li class="link"><a href="#">Three</a></li> 

$('.link a').click(...になりますはるかに信頼性の高い。

+0

作業例を参照するには、以下のリンクをご覧くださいそれは(共通のクラスで)問題を解決します。 – Luis

+0

@ルイス:たぶんあなたはチュートリアルを読むべきでしょう:http://docs.jquery.com/Tutorials:Getting_Started_with_jQuery基本的に、イベントハンドラの中で、 'this'はイベントが起きた要素(この場合はリンク)を参照します。また、セレクタだけでなく、DOM要素をjQueryに渡すこともできます。これは '$(this) 'の意味です。 –

+0

はい、今私はこのセレクターが何を理解しています。ありがとうございました。 – Luis

1

は試してみてください。..他somtehingにクリックイベント内

$(".link-??? a").click(function() { 
    alert(this.innerHTML); 
}) 

this???を交換する必要があります。あなたはまた、最初の方法..but ..

alert($(this).html()); 

を行うことができ

が簡単、かつ高速です。

1

各要素に同じクラスを割り当てます。次に、あなたの関数内でこれをあなたのjavascriptで参照してください。 は、(うまく..私はちょうど一日:-)学んでいる)私は `` $(この)聞いたことがありません

http://jsfiddle.net/kprgr/2/

<li class="link"><a href="#">One</a></li> 
<li class="link"><a href="#">Two</a></li> 
<li class="link"><a href="#">Three</a></li> 

$(".link").click(function() { 
    alert($(this).find("a").html()); 
}); 
関連する問題