【问题标题】:Selecting An Attribute From The Clicked href从单击的 href 中选择一个属性
【发布时间】:2016-04-27 05:06:10
【问题描述】:

在一个页面上,我有多个链接,所有链接都附有跟踪代码。每个链接的跟踪代码都不同。当我点击一个链接时,我想选择附加到该 href 的跟踪代码。如果我只是使用

$('.bannerLink').attr('data-trackingcode')

它只会选择第一个链接,而不是我点击的那个。如何选择我刚刚点击的那个

<div class="container">
<div>
<a href="someLink" class="bannerLink" data-trackingcode="trackingCodeA">
<img src="//someImage.jpg" alt="Cereals">
</a></div></div>

<div class="container">
<div>
<a href="someLink" class="bannerLink" data-trackingcode="trackingCodeB">
<img src="//someImage.jpg" alt="Cereals">
</a></div></div>

<div class="container">
<div>
<a href="someLink" class="bannerLink" data-trackingcode="trackingCodeC">
<img src="//someImage.jpg" alt="Cereals">
</a></div></div>

【问题讨论】:

  • 您没有属性为'data-trackingcode' 的元素。您应该使用像&lt;a href="someLink" class="bannerLink" data-trackingcode="trackingCodeA"&gt; 这样的数据属性并使用$('.bannerLink').data('trackingcode')$(this).data('trackingcode') 检索它。你也忘了发布你的 jQuery。
  • 第二次使用data() 访问下面Rory 提到的data-* 属性。如果您发布您的原始尝试也会很有帮助,以便人们指出特定于您的代码的修复。

标签: jquery


【解决方案1】:

您可以使用this 关键字在点击事件处理函数中引用被点击的元素。试试这个:

$('.bannerLink').click(function() {
    var trackingCode = $(this).data('trackingcode');
});

注意使用data() 访问data-* 属性优于attr()

【讨论】:

  • 没问题。如果有帮助,请不要忘记投票/接受答案。
【解决方案2】:
$(document).on('click','.bannerLink',function() {
    $(this).attr('trackingcode')
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-19
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 2016-07-09
    • 1970-01-01
    相关资源
    最近更新 更多