2015-01-07 135 views
0

我想加载特定产品到div中,但每个div只在第一个产品中加载。我猜我需要做某种类型的循环,但我不太清楚如何jQuery - 通过变量/元素循环?

这里就是我想要做的事:

<div class="prdContainer" rel="prod-1"></div> 
<div class="prdContainer" rel="prod-2"></div> 
<div class="prdContainer" rel="prod-3"></div> 

$(document).ready(function() { 
    var prdNo = $('.prdContainer').attr('rel').split('-')[1]; 

    $('.prdContainer').load('http://www.domain.com .product:nth-child(' + prdNo + ')'); 
}); 

在我看来,这是什么它应该做的事:

$('.prdContainer').load('http://www.domain.com .product:nth-child(1)'); 
$('.prdContainer').load('http://www.domain.com .product:nth-child(2)'); 
$('.prdContainer').load('http://www.domain.com .product:nth-child(3)'); 

这将与有关:

rel="prod-1" 
rel="prod-2" 
rel="prod-3" 

任何帮助将是伟大的!

回答

3
$(document).ready(function() { 
    $('.prdContainer').each(function(i){ 
    $(this).load('http://www.domain.com .product:nth-child(' + (i + 1)+ ')'); 
    }); 
}); 

你应该知道,指数从0

+1

开始这是一个有点清洁(可能更快) ... – meskobalazs

+1

谢谢!这很好。我看着它似乎是错误的方式:) – Nick

+1

@尼克好运:) –

0

使用属性等于选择(官方docs):不是我的做法

$('.prdContainer[rel="prod-' + prdNo + '"]').load(...);