灯箱没有处理新内容

时间:2014-08-09 23:38:28

标签: javascript jquery ajax load lightbox

Hy,我在使用lightbox(在我的情况下是slimbox 2)工作时遇到了一些问题 加载新内容后。我知道苗条盒需要再次调用,但我几乎尝试了所有东西。 以下是如何加载新内容的代码:

...var link = $('<a class="loadpost" href="javascript:">Load more</a>');
link.click(loadMore);...

loadMore是加载新内容的函数。这只是一段代码。如果你需要整个代码,请告诉我。

这是slimbox代码。

jQuery(function($) {
$("a[rel^='lightbox']").slimbox({/* Put custom options here */}, null, function(el) {
return (this == el) || ((this.rel.length > 8) && (this.rel == el.rel));
});

新内容具有rel属性但不起作用。我可以结合上面的点击功能再次调用slimbox代码。

1 个答案:

答案 0 :(得分:0)

长版:

如果没有更多的代码(如果你可以,制作一个jsfiddle或类似的东西),很难知道这是否是唯一的问题,但我看到的一个直接问题是你&#39 ;使用jQuery&#39; s $(&#34;&#34;)错误。您应该在其中放置一个选择器,以便jQuery可以找到您希望它在DOM中找到的任何内容;你正在喂它的是一串HTML。

浏览器使用HTML来创建DOM(文档对象模型)树,您可以将其视为HTML的抽象逻辑树; DOM看到&#39; a.loadpost&#39;作为其内部文本节点的(在这种情况下,&#39;加载更多&#39;)。 CSS和Javascript / jQuery都以非常相似的方式从抽象的逻辑树中查找信息。除了少数例外,如果您知道如何使用CSS定位某些东西,您就知道如何使用jQuery来定位它 - 只需选择您需要选择的任何HTML,就像使用CSS一样。

因此,要告诉jQuery对一个&#39; loadpost&#39;类的链接做一些事情,你只需编写$(&#39; a.loadpost&#39;)。 $(&#34; a.loadpost&#34;)也有效。

简短版本:

var link = $('a.loadmore');
相关问题