0

私はいくつかのJSONを持っています。

Levels = {
    "1" : {
        "level"   : 1,
        "name"    : "blah blah",
        "TTtitle" : "blah blah blah blah"
    },
    "2" : {
        "level"   : 2,
        "name"    : "blah blah",
        "TTtitle" : "blah blah blah blah"
    }
};

each ループ内で関数を宣言すると、最初のループでのみ実行されます。

var addIcons;    
$.each(Levels, function(key, value){
       v = value,
       addIcons = function(){                                               
         $(
           '<li class="icon' + key + '">'+                                              
           '<a class="Tip" href="#' + key + '" title="' + v.TTtitle +'"></a>'+
           '</li>'
          ).appendTo('ul');                                     
       }
    });
addIcons();

ループ内で関数を宣言するのは得策ではありませんか?

「レベル」ごとに関数を起動するにはどうすればよいですか?

これは、個別の関数内で 5 つの個別の各ループを使用していて、JSON を 1 回だけ反復して関数を設定する方法を探していたため、テストしていたコードの例にすぎません。

4

2 に答える 2

0
you can write as follows
$.each(Levels, function(key, value){
   v = value,
     $('ul').append(
       '<li class="icon' + key + '">'+                                              
       '<a class="Tip" href="#' + key + '" title="' + v.TTtitle +'"></a>'+
       '</li>'
      );                                     
});
于 2013-08-13T12:19:34.770 に答える