我尝试在加载后从单个产品链接加载特定信息。
我拥有什么以及它做了什么:
$(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),我只是不确定如何?
答案 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调用正在进行中。也许显示整体问题会产生更好的解决方案吗?