2011-02-02 58 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个标签被点击..