2011-02-02 19 views
27

文書のさまざまな部分に一致するテキストがあります。 、私は、一致するリンクが同様に選択されたときに強調表示したい項目の後に隠された要素を持っているドキュメントのいくつかの他の部分で次にクリックしたリンクのテキスト値を取得する方法は?

<div id="my-div"> 
    <div><a href="#">tag 1</a></div> 
    <div><a href="#">tag 2</a></div> 
</div> 

:最初はそうのような表中の「タグ」のセットです。

<div class="hide-me">tag 1</div> 

はその後、私のクリック機能は、このようなものです::そう

$('#my-div a').click(function() { 
    var txt = $(this).text(); 
    console.log(txt); 
}); 

出力は空の文字列ですが、私はなぜわかりません。

+2

..クリックされた2つのタグのかを指定する必要があります。 [サンプル](http://www.jsfiddle.net/reigel/WBNkB/) – Reigel

答えて

55

あなたのコード、試してください:あなたがそうとしてまで、そこに隠されたタグのIDを入れて、その後

<div id="my-div"> 
    <div><a href="#" sectionId="someId1">tag 1</a></div> 
    <div><a href="#" sectionId="someId2">tag 2</a></div> 
</div> 

そして:よりよい解決策をリンクにカスタム属性を追加することですこれも。

$('#my-div a').click(function(e) { 
    var txt = $(e.target).text(); 
    console.log(txt); 
}); 
+1

あなたは正しいです、それは正しかった、そしてまた別の方法のおかげで! – 95slug

+0

いいえ問題私の友人:) –

+0

あなたは私に教えてください、この機能は何ですか?なぜこれが正しいので、彼のコードがうまくいかないのですか? :) –

0

あなたの場合は、将来的に変更される可能性があるため、リンクのテキストは使用しません(つまり、あなたのウェブサイトを翻訳する必要があります)。正しいと思わ

$('#my-div a').click(function() { 
    var sectionId = $(this).attr('sectionId'); 
    $('#' + sectionId).show(); 
    return false; // return false so the browser will not scroll your page 
}); 
+0

@Reigel - 乾杯! –

+0

カスタム属性を追加するときにW3C検証で何をすることをお勧めしますか? –

-1

$( '#my-div a')が曖昧です。

それは「#私の-DIV」内のすべてのAタグを読み取るために行く

Uは、私は何の問題が表示されていない

関連する問題