2011-02-02 81 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

我看不出有什麼問題。 [樣品](http://www.jsfiddle.net/reigel/WBNkB/) – Reigel 2011-02-02 06:35:13

回答

55

你的代碼似乎是正確的,嘗試這也是。

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

在你的情況下,我不會使用鏈接的文本,因爲它有可能會改變將來(即你需要翻譯你的網站)。更好的解決辦法是添加自定義屬性鏈接:

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

,然後把隱藏的標籤出現的ID,所以你了:

$('#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
+0

@Reigel - 乾杯! – 2011-02-02 06:40:39

-1

$('#my-div a')不明確。

它去閱讀中「#我-DIV」

的全部標籤ü需要指定2個標籤被點擊..