我正在为我的选择器中具有data-myid
属性的每个链接打开一个colorbox(AJAX页面),我想发送带有post请求的data-myid
属性值以获取正确的页面回来。
$(".gallery-media-cover a[data-myid]").colorbox({
href: 'ajax/view//image',
data: {
myid: $(this).attr("data-myid"),
},
});
当我写的时候它起作用:myid: 123
但它们是动态的,所以我需要从链接中获取它们。每当我尝试使用myid
$(this).attr("data-myid")
都会被定义为未定义
我真的尝试过任何可能的方法来获取url的data属性来发送它我的请求,但似乎没有工作。我100%肯定data-myid
在链接中。
另外
myid: function() {
return $(this).attr("data-myid");
}
和
$(this).data("id")
保持不确定,我真的没有选择。任何人都可以分享一下吗?
答案 0 :(得分:2)
在您提供给colourbox()
方法this
的对象的上下文中,未引用所点击的链接。为了达到您的要求,您可以遍历每个链接并单独实例化颜色框:
$(".gallery-media-cover a[data-myid]").each(function() {
var $el = $(this);
$el.colorbox({
href: 'ajax/view//image',
data: {
myid: $el.data('myid'),
},
});
});