我有以下几行代码:
$("a.quickview").fancybox({
ajax : {
type : "POST",
data : 'itemID=' + $(this).attr("name")
}
});
哪个具有约束力:
<a name="614" class="quickview" href="/URL/index.cfm">quick view</a>
我希望数据以itemID = 614发布,但$(this).attr(“name”)将以未定义的形式返回?我做错了什么?
由于
答案 0 :(得分:15)
如果您使用Fancybox 2.0,则可以执行此操作:
$("a.quickview").fancybox({
ajax : {
type : "POST",
data : 'itemID=' + $(this.element).attr("name")
}
});]
来源:Code snippet from fancyBox Github issue(此作品)=&gt;
$(".fancybox").fancybox({
beforeShow : function() {
this.title = $(this.element).attr('fancybox-title');
}
});
答案 1 :(得分:4)
你写它的方式$(this)
并不是你所期望的。在此上下文中,this
不是点击a
,而是this
运行$("a.quickview").fancybox({...})
时的$("a.quickview").each(function() {
var a = $(this);
a.fancybox({
ajax : {
type : "POST",
data : 'itemID=' + a.attr("name");
}
});
});
。
请改用此代码
a.quickview
或者如果只有一个var a = $("a.quickview");
a.fancybox({
ajax : {
type : "POST",
data : 'itemID=' + a.attr("name");
}
});
你想绑定fancybox来使用这个更简单的代码
{{1}}
答案 2 :(得分:2)
这对我有用:
onComplete:function(instance,slide){
// Clicked element console.info( slide.opts.$orig );
}