2016-01-27 48 views
1

如何计算jQuery中的每个函数?在jQuery中进行计数总计

<script> 
    ajax(); 
    function ajax(){ 
     $.ajax({ 
      url:"ChinaWeather.json", 
      dataType:"json", 
      success: function(data){ 
       $.each(data, function(index, item){ 
        var sum = 1; 
        $('#countryweatherwrap').append('<div id="countryweather' + sum + '">' + data[index].season + 'Temperatuur: ' + 
         data[index].temperature+' °C <br />' + '<div style="height:'+ data[index].temperature*5.50 +'px;width:100%;border:1px solid #000; background-color:yellow"></div></div>' 
         ); 
        }); 
      } 
     }) 
    } 
</script> 

目前代码在每个循环中都返回<div id="countryweather">。我希望它能够计算所以它返回<div id="countryweather2">,<div id="countryweather3">等。

回答

2

a。在每个循环外部移动var sum(使其成为全局)
b。通过++;

<script>   
    ajax(); 
    function ajax(){   
     $.ajax({ 
      url:"ChinaWeather.json", 
      dataType:"json", 
      success: function(data){ 
       var sum = 1; 
       $.each(data, function(index, item){      
        $('#countryweatherwrap').append('<div id="countryweather' + sum + '">' + data[index].season + 'Temperatuur: ' + 
         data[index].temperature+' °C <br />' + '<div style="height:'+ data[index].temperature*5.50 +'px;width:100%;border:1px solid #000; background-color:yellow"></div></div>'      
         ); 
         sum++; 
        }); 
      } 
     }) 
    } 
</script> 
+2

根据OP的需求,我会建议在成功回调($ .each'之前的行)内声明sum。 –

+0

同意。这就说得通了。 +1 – DinoMyte

+0

@DinoMyte感谢您的回答!我还没有用jQuery编程一段时间,我不知道它可能很简单! – Mae

1

递增1中的sum值可以使用索引:

$.each(data, function(index, item) { 
    $('#countryweatherwrap').append('<div id="countryweather' + (index+1) + '">' + data[index].season + 'Temperatuur: ' + data[index].temperature + ' °C <br />' + '<div style="height:' + data[index].temperature * 5.50 + 'px;width:100%;border:1px solid #000; background-color:yellow"></div></div>'); 
}); 

具有起动在0所以加1的索引。