-1

配列番号とセレクターの位置を足で入力した次のjQueryのものを取得しました-forループを使用して1つのブロックでこれを実行できますか?

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');

eq([arrayPos]) と names/ident[arrayPos] で約 10 ブロックがフォローアップされます。

4

3 に答える 3

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');

}
于 2012-12-13T18:53:49.723 に答える
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');
}
于 2012-12-13T18:53:52.313 に答える
2

理由がわかりません...forループのインクリメントカウンターを使用するようにインデックスを変更するだけです。namesident、または配列を取得する方法は示していませんが、funktionそれらは同じサイズであり、ドキュメントで期待されるものの適切な数を保持していると思われるため、それらのいずれかを使用して基本増分範囲を取得します。

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');

}

さらに可能であれば、これらの配列を組み合わせて、次のようなハッシュの単一の配列にする方がはるかに理にかなっています。

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');

}
于 2012-12-13T18:54:53.060 に答える