使用jQuery获取数据属性?

时间:2017-12-09 08:56:26

标签: jquery html

我试图从下面的链接获取 data-shareurl 以便在jQuery中使用,但出于某种原因,当我将变量放入警报时,它总是未定义的。有人能告诉我我的错吗?谢谢。 我做了一个小提琴here

HTML

<a title="" class="fancybox" data-shareurl="www.google.com" href="http://fancyapps.com/fancybox/demo/1_b.jpg">
<img src="http://fancyapps.com/fancybox/demo/1_b.jpg" title="" /></a>

的jQuery

 var shareurl = $(this).attr('data-shareurl'); //Get this url
 $(".fancybox").fancybox({

   beforeShow: function() {
     this.title = '<div class="addthis addthis_toolbox addthis_default_style "><a href="' + this.href + '" addthis:url="' + this.href + '" addthis:title="' + this.title + '" class="addthis_button_preferred_1"></a></div>';

     alert(shareurl); //see the variable


   },

   afterShow: function() {
     addthis.toolbox(
       $(".addthis").get()
     );
   },
   helpers: {
     title: {
       type: 'inside'
     }
   }

 });

2 个答案:

答案 0 :(得分:1)

您正在使用$('.fancybox')...作为选择器。我假设此代码不在函数id

为什么不使用classvar shareurl = $('.fancybox').attr('data-shareurl'); //Get this url 作为选择器。

networks.txt

答案 1 :(得分:1)

您可以使用解决方案

$('a').click(function(){
  console.log($(this).data('shareurl'));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a title="" class="fancybox" data-shareurl="www.google.com" href="http://fancyapps.com/fancybox/demo/1_b.jpg">
<img src="http://fancyapps.com/fancybox/demo/1_b.jpg" title="" /></a>

希望这会对你有所帮助。