将不同的div附加到由ajax请求加载的div(无限滚动)

时间:2015-06-12 07:33:47

标签: javascript jquery html ajax

我在我的网站上使用此plugin。您将能够看到它正在生成的HTML结构。我试图在每5个div后插入自定义div。因为它是异步加载的,所以我无法附加我想要的div。我尝试添加以下在正常情况下使用的代码

$(".alm-reveal:eq(0)").append("<div>Firstdiv</div>");
$(".alm-reveal:eq(1)").append("<div>Second Image</div>");
$(".alm-reveal:eq(2)").append("<div>Third IMage</div>");
$(".alm-reveal:eq(3)").append("<div>Fifth Image</div>");
$(".alm-reveal:eq(4)").append("<div>Sixth Image</div>");
$(".alm-reveal:eq(5)").append("<div>Seventh Image</div>");
$(".alm-reveal:eq(6)").append("<div>Eigth Image</div>");
$(".alm-reveal:eq(7)").append("<div>ninth Image</div>");

显然不起作用。我也尝试在成功函数中添加它。

success: function (data) {
    alm.AjaxLoadMore.success(data);
    $(".alm-reveal").append("<div>Firstdiv</div>");
}

但是因为它在循环中,所以它正在重复。我不太确定如何实现这一目标。如何在每次发出ajax请求时触发追加功能,并在适当的位置附加我想要的不同div。希望我很清楚。

3 个答案:

答案 0 :(得分:1)

success: function (data) {
    alm.AjaxLoadMore.success(data);
    $(".alm-reveal:last").append("<div>"+data+"</div>"); //selects last div in that class
}

每次附加时,都应附加到该特定类的最后一个div

答案 1 :(得分:1)

success: function (data) {
        alm.AjaxLoadMore.success(data);
        $(".alm-reveal:last").append("<div>"+data+"</div>"); //selects last div in that class
    }
应该相应地传递

数据以获取div中的不同数据。

答案 2 :(得分:0)

我正在回答我自己的问题,虽然我不确定这是否是有效的方法。但它按照我想要的方式100%工作。

if(data.indexOf("aj-l-main-entry-8") > -1) //Making sure AJAX div is loaded
      {
         if(document.getElementById("element-id") == null) { //Appending div only once 
         $("#id_of_the_div_you_want_to_append_to").append('<div></div>');
         }
      }

我在success函数中添加了上述代码。