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

发布于 2024-10-15 09:29:42 字数 513 浏览 1 评论 0原文

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

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

输出是一个空字符串,但我不知道为什么。

I have matching text in different parts of a document. The first is a set of "tags" in a table like so:

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

Then in several other parts of the document, I have a hidden element after the items I want to highlight when the matching link is selected like so:

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

Then my click function is like this:

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

The output is an empty string, but I’m not sure why.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

倚栏听风 2024-10-22 09:29:42

您的代码似乎是正确的,也尝试一下这个。

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

your code seems to be correct, try this one too.

$('#my-div a').click(function(e) {
  var txt = $(e.target).text();
  console.log(txt);
});
相权↑美人 2024-10-22 09:29:42

在您的情况下,我不会使用链接的文本,因为它将来可能会发生变化(即您需要翻译您的网站)。更好的解决方案是向链接添加自定义属性:

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

In your case I wouldn't use the text of the link, as it's possible it may change in the future (ie. you need to translate your website). The better solution is to add custom attribute to links:

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

And then put the id of the hidden tag there, so you and up with:

$('#my-div a').click(function() {
  var sectionId = $(this).attr('sectionId');
  $('#' + sectionId).show();
  return false; // return false so the browser will not scroll your page
});
苍暮颜 2024-10-22 09:29:42

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

它会读取“#my-div”中的所有 a 标签,

您需要指定单击这 2 个标签中的哪一个。

$('#my-div a') is ambiguous.

It goes to read all the a tags within '#my-div'

U need to specify which of the 2 tags is clicked..

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文