如何获取点击链接的文本值?

时间:2011-02-02 06:26:19

标签: jquery jquery-selectors

我在文档的不同部分有匹配的文本。第一个是表格中的一组“标签”,如下所示:

<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);
});

输出是一个空字符串,但我不确定原因。

3 个答案:

答案 0 :(得分:66)

你的代码似乎是正确的,也试试这个。

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

答案 1 :(得分: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
});

答案 2 :(得分:-2)

$('#my-div a')含糊不清。

它会读取'#my-div'

中的所有标签

你需要指定点击两个标签中的哪一个..