jQuery - 在加载所有元素后从另一个页面加载

时间:2014-02-04 10:32:09

标签: javascript jquery jquery-load

我想在类别页面上显示产品的评级,女巫位于具有id等级的div的产品页面上,所以我在下面制作了一个脚本:

$('.product').each(function(){
    var url = $(this).find('a').attr('href');
    $(this).prepend('<div class="rating"></div>');
    $(this).find('.rating').load(url +'#rating');
});

问题是,产品页面上的评级是使用另一个脚本生成的,因此网站上的#rating元素从一开始就不存在,所以在做了一些搜索后我尝试添加一个jaxcomplete函数:

$('.product').each(function(){
    var url = $(this).find('a').attr('href');
    $(this).prepend('<div class="rating"></div>');
    $(this).ajaxComplete(function(nxt) {
        $(this).find('.rating').load(url +'#rating');
        nxt();
    });
});

但这似乎也不起作用,所以我想知道有没有解决方案可以解决这个问题?

由于

1 个答案:

答案 0 :(得分:0)

您需要使用jQuery getScript加载执行评级的脚本。这样,您可以将处理依赖于getScript调用的成功处理程序中的评级脚本。

代码看起来像这样:

$.getScript( "rating.js", function( data, textStatus, jqxhr ) {
  console.log( "rating complete" );
  $('.product').each(function(){
    var url = $(this).find('a').attr('href');
    $(this).find('.rating').load(url +'#rating');
  }
});