0

ID を持つピボット テーブルがあり、<TH>これらの ID を使用して翻訳を取得する方法を考えています。

これを使って

$('th').each(function(){
    if ($(this).text() == '1234') { $(this).text('MyTranslationWithId1234'); }
}); 

私の目的はこれです:

{1234: 'text1234'},
{3232: 'text2332'},
{3278: 'text3278'}

約 500 の ID が<th>あり、JQuery を使用して直接翻訳したいと考えています。

4

1 に答える 1

1

それを行う奇妙な方法のように思えます。次のように、複数のオブジェクトではなく、キーを持つ1つのオブジェクトを使用します。

var translation = {
                   1234: 'text1234',
                   3232: 'text2332',
                   3278: 'text3278'
                  };

$('th').text(function(_,txt){ return translation[parseInt(txt,10)]; });

フィドル

それ以外の場合は、多くの遅い反復を行う必要があります。

var translation = [
                    {1234: 'text1234'},
                    {3232: 'text2332'},
                    {3278: 'text3278'}
                  ];

$('th').text(function(_,txt){ 
    var key = parseInt(txt,10);

    $.each(translation, function(_, obj) {
        if ( key in obj) txt = obj[key];
    });

    return txt;
});
于 2013-08-05T21:45:05.957 に答える