2012-12-13 65 views
-1

我得到了以下jQuery的東西,我用腳輸入數組數和選擇器位置 - 我可以用for循環在一個塊中執行此操作嗎?迭代通過數組的多個jQuery命令

jQuery(document).ready(function(){ 

    jQuery('.hoverB0x:eq(0)').html('<a style="background:white;" class="imageLink" href="${createLink(uri: "/beirat/")}">Profil von' + names[0]+'</a>'); 
    jQuery('div.name:eq(0)').html(title[0]+' '+names[0]); 
    jQuery('div.description:eq(0)').html(funktion[0]); 
    jQuery('a.imageLink:eq(0)').prop('href', 'beirat/'+ident[0]); 
    jQuery('a.contentLink:eq(0)').prop('href', 'beirat/'+ident[0]); 
    jQuery('.profilBildInner:eq(0) img').attr('src', base+ident[0]+'.png'); 

現在約10塊要與EQ跟進([arrayPos])和名稱/ IDENT [arrayPos]

+1

「我可以用for循環在一個塊中執行此操作?「是。使用for循環並用':eq('+ i +')'和'[1]'替換':eq(1)',假設'i'是您的循環索引。 –

回答

2

我不明白爲什麼不...只是改變索引使用for循環的增量計數器。您不會顯示如何獲得names,identfunktion陣列,但可以推測它們具有相同的大小,並保留文檔中期望的事物的適當數量,因此請使用其中一個來獲得基本增量範圍。

for (var i = 0; i < ident.length; i++){ 
    $('.hoverB0x:eq(' + i + ')').html('<a style="background:white;" class="imageLink" href="${createLink(uri: "/beirat/")}">Profil von' + names[i]+'</a>'); 
    $('div.name:eq(' + i + ')').html(title[i]+' '+names[i]); 
    $('div.description:eq(' + i + ')').html(funktion[i]); 
    $('a.imageLink:eq(' + i + ')').prop('href', 'beirat/'+ident[i]); 
    $('a.contentLink:eq(' + i + ')').prop('href', 'beirat/'+ident[i]); 
    $('.profilBildInner:eq(' + i + ') img').attr('src', base+ident[i]+'.png'); 

} 

進一步,如果可能的話,將使更多的意義,這些陣列組合成像hahses的AA單陣列:

var values = [ 
    {ident: 'ident_value', funktion: 'function_value', name: 'name_value'} 
]; 

然後,你可以這樣做:

for (var i = 0; i < values.length; i++){ 
    $('.hoverB0x:eq(' + i + ')').html('<a style="background:white;" class="imageLink" href="${createLink(uri: "/beirat/")}">Profil von' + values[i].name+'</a>'); 
    $('div.name:eq(' + i + ')').html(title[i]+' '+values[i].name); 
    $('div.description:eq(' + i + ')').html(values[i].funktion); 
    $('a.imageLink:eq(' + i + ')').prop('href', 'beirat/'+values[i].ident); 
    $('a.contentLink:eq(' + i + ')').prop('href', 'beirat/'+values[i].ident); 
    $('.profilBildInner:eq(' + i + ') img').attr('src', base+values[i].ident+'.png'); 

} 
2

是的,當然:

for (var i = 0; i < 3; i++){ 
    $('.hoverB0x:eq(' + i + ')').html('<a style="background:white;" class="imageLink" href="${createLink(uri: "/beirat/")}">Profil von' + names[i]+'</a>'); 
    $('div.name:eq(' + i + ')').html(title[i]+' '+names[i]); 
    $('div.description:eq(' + i + ')').html(funktion[i]); 
    $('a.imageLink:eq(' + i + ')').prop('href', 'beirat/'+ident[i]); 
    $('a.contentLink:eq(' + i + ')').prop('href', 'beirat/'+ident[i]); 
    $('.profilBildInner:eq(' + i + ') img').attr('src', base+ident[i]+'.png'); 

} 
2

使用for循環:

for (var i = 0; i < 3; i++) { 
    jQuery('.hoverB0x:eq(' + i + ')').html('<a style="background:white;" class="imageLink" href="${createLink(uri: "/beirat/")}">Profil von' + names[i] + '</a>'); 
    jQuery('div.name:eq(' + i + ')').html(title[i] + ' ' + names[i]); 
    jQuery('div.description:eq(' + i + ')').html(funktion[i]); 
    jQuery('a.imageLink:eq(' + i + ')').prop('href', 'beirat/' + ident[i]); 
    jQuery('a.contentLink:eq(' + i + ')').prop('href', 'beirat/' + ident[i]); 
    jQuery('.profilBildInner:eq(' + i + ') img').attr('src', base + ident[i] + '.png'); 
}