我在我的jQuery代码中添加了一个列表项<li>
到我的<ul>
,在前面的<li>
我有一个调用fancybox的文本链接。
任何附加了“fb”类的点击项目都会调用并打开fancybox,只有新添加的带有文本链接的列表项才会打开花哨的框。
所以这就是我在前言
中的内容<a class='fb' href='viewtopic?id="+nextlistid+"'>"+title+"</a>
我尝试从链接中删除(class ='fb'),然后给它一个唯一的ID,后来我尝试添加$("theuniqueid").addClass("fb");
,但似乎也没有。
这是fancybox代码(有效)
$(".fb").fancybox({
'padding': 0,
'autoScale': false,
'transitionIn': 'none',
'transitionOut': 'none',
'overlayColor': '#f7f7f7',
'overlayOpacity': 0.5
});
关于如何让类附加到新前置项目的任何想法?
提前致谢
答案 0 :(得分:2)
动态添加一些元素(prepend
此处)后,您必须再次重新设置花式框功能。这样的事情。
$("#thatDiv").prepend("<a class='fb' href='viewtopic?id="+nextlistid+"'>"+title+"</a>");
$(".fb").fancybox({
'padding': 0,
'autoScale': false,
'transitionIn': 'none',
'transitionOut': 'none',
'overlayColor': '#f7f7f7',
'overlayOpacity': 0.5
});
我可能会将绑定代码移动为通用函数,以便我可以从许多地方调用它。
答案 1 :(得分:0)
我认为您应该在最近添加的链接上再次调用 fancybox 方法。例如:
var li = $("<li></li>").addClass("fb");
$(ul).prepend(li);
li.fancybox({/*...*/});
确实,您动态添加了最近的项目,而之前的 $(“。fb”)选择器未包含新创建的列表项。