jQuery - 从加载的内容加载内容 - .load

时间:2015-01-07 17:02:29

标签: javascript jquery

我尝试在加载后从单个产品链接加载特定信息。

我拥有什么以及它做了什么:

$(function(){
    $('.prdContainer .prdHero').each(function(i){
        $(this).load(('http://www.domain.com .product:nth-child(' + (i + 1)+ ') .productMainImage'), function(){
            $('.prdContainer .prdDesc').each(function(){
                var prdLink = $('.prdHero .productMainImage').attr('href');

                $(this).load(prdLink + ' ' + '.productHeading');
            });
        });
    });
});

1 - 功能将产品加载到.prdHero - 3x

2 - 功能获取链接并添加到新的.load

3 - 然后应该在特定于产品的标题中加载,但所有3个加载在相同的标题中(第一个)。

我觉得我需要让我的函数特定于.prdContainer并使用$(this),我只是不确定如何?

1 个答案:

答案 0 :(得分:1)

如果没有显示特定的HTML,我必须猜测你的层次结构,但像这样的东西将使用一个已知的父元素作为每个搜索的起点:

$(function(){
    $('.prdContainer .prdHero').each(function(i){
        var $parent = $(this).closest('.prdContainer');
        $(this).load(('http://www.domain.com .product:nth-child(' + (i + 1)+ ') .productMainImage'), function(){
            $parent.find('.prdDesc').each(function(){
                var prdLink = $parent.find('.prdHero .productMainImage').attr('href');
                $(this).load(prdLink + ' ' + '.productHeading');
            });
        });
    });
});

正如评论中所提到的,你似乎有太多的Ajax调用正在进行中。也许显示整体问题会产生更好的解决方案吗?