我有一个带有Fancybox2插件的简单图片库。
<a href="img1.jpg" class="fancybox" rel="group"><img src="img1.jpg" data-title="Awesome image" alt="image 1"></a>
<a href="img2.jpg" class="fancybox" rel="group"><img src="img2.jpg" data-title="Good indeed" alt="image 2"></a>
<!-- and so on -->
我尝试做的是捕捉当前图片的data-title
beforeShow
回调函数。
我的尝试是:
beforeShow : function() {
var title = this.getAttribute('data-title');
console.log(title); // nope does not work
}
我想知道因为这不起作用。任何帮助非常感谢。
编辑:我还尝试了.attr('data-title');
和.data('title');
,但它给了我undefined
。
答案:好的家伙我发现了
var title = this.element.find('img').data('title');
诀窍!谢谢!
答案 0 :(得分:0)
好吧,似乎Fancybox
&#39;回调正在使用自己的this
元素,这就是
$(this).data('title'); // DOESN'T WORK
或
$(this).attr('data'); // DOESN'T WORK
抛出undefined
。我在文档中找到了解决方案:
var title = this.element.find('img').data('title');