-3

您能否看一下以下代码并告诉我为什么我无法运行该程序?

enter code here
 $(document).ready(function()
  {
  var comp=new Array("AAPL","MSFT","XRTX&");
  var t = setInterval(function(){getPrice();},200);});
  function getPrice() {
    for (var i=0;i<comp.length;i++){
    $.getJSON('https://finance.google.com/finance/info?client=ig&q='+comp[i]+'&callback=?', function(response){
  var stockInfo = response[0];
  var stockString = '<div id="stockprice">';
   stockString += 'Candente Copper: DNT $'+''+stockInfo.l+'';
   stockString += '</div>';
   $('#stockprice').replaceWith(stockString);
   $("#stockprice:contains('-')").addClass('red'); 
   $("#stockprice:contains('+')").addClass('green');
   }      
   });
   }​

我的 Array 对象或程序的其他部分有问题吗?请注意,代码可以在不调用数组元素的情况下正常工作。

谢谢

4

1 回答 1

1

{的 s, }s, (s 和)s 并不完全匹配。此外,为了让您的函数能够引用comp变量,它们必须都在相同的函数范围内,在这种情况下:$(document).ready(function(){ ... });. 你会注意到我也把你setInterval增加到了2000(2s)。

例子

$(document).ready(function()
{
   var comp = new Array("AAPL","MSFT","XRTX&");
   var t = setInterval(function(){getPrice();},2000);

    function getPrice() 
    {
       for (var i=0;i<comp.length;i++){
        $.getJSON('https://finance.google.com/finance/info?client=ig&q='+comp[i]+'&callback=?', function(response){
         var stockInfo = response[0];
         var stockString = '<div id="stockprice">';
         stockString += 'Candente Copper: DNT $'+''+stockInfo.l+'';
         stockString += '</div>';

         $('#stockprice').replaceWith(stockString);
         $("#stockprice:contains('-')").addClass('red');  
         $("#stockprice:contains('+')").addClass('green');
       });
      }
    }
});​
于 2012-10-19T18:08:38.170 回答