2016-03-30 11 views
0

私はfreecodecampの挑戦に取り組んでいます。タスクは地元の天気を示すため、ユーザーの所在地を取得する必要があります。私は場所from hereを得ることができますが、それは私がdivのgetElementByIdをしようとしていたことを印刷した後、私は応答としてnullを与えるJSを使用して印刷しました。キーの値のペアを取得して、それらで物事を行うことができるようにしたい。ここに私のコードは次のとおりです。事前にジオロケーショントレースgetElementByIdが機能していません

<!DOCTYPE html> 
 
<html> 
 
    <head> 
 
     <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> 
 
     <title>Location Trace | freecodecamp Challanges</title> 
 
     <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 
 
    </head> 
 
    <body> 
 
     <div id="GeoResults"></div> 
 
     <script> 
 
     $.getJSON("http://ip-api.com/json/?callback=?", function(data) { 
 
      var table_body = ""; 
 
      var count = 0; 
 
      $.each(data, function(k, v) { 
 
\t \t \t \t //JSON.stringify(j); // '{"name":"binchen"}' 
 
\t \t \t \t 
 
\t \t \t \t table_body += '<div id=Coun_'+count+'>'+v+'</div>'; 
 
\t \t \t \t 
 
       //table_body += "<tr><td id='FC_"+count+"'>" + k + "</td><td><b id='SC_"+count+"'>" + v + "</b></td></tr>"; 
 
       count++; 
 
      }); 
 
      $("#GeoResults").html(table_body); 
 
     }); 
 
     </script> 
 
     <script> 
 
\t \t \t var x = document.getElementById('Coun_1') /*= 'Dooone!!!'*/; 
 
\t \t \t console.log(x); 
 
     </script> 
 
    </body> 
 
</html>

ありがとう!

+3

あなたはgetElementByIdをが呼び出されたときに、それらの要素がまだDOMにあなたの迅速な返事アルンため –

+0

おかげで追加されていない、非同期APIを使用してこれらの要素を追加している、あなたは私を助けてくださいすることができますここではAsyncについて詳しく説明します。どこから始めますか? –

+0

about async http://stackoverflow.com/questions/3393751/what-does-asynchronous-means-in-ajax – GuRu

答えて

0

<!DOCTYPE html> 
 
<html> 
 
    <head> 
 
     <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> 
 
     <title>Location Trace | freecodecamp Challanges</title> 
 
     <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 
 
    </head> 
 
    <body> 
 
     <div id="GeoResults"></div> 
 
     <script> 
 
     $.getJSON("http://ip-api.com/json/?callback=?", function(data) { 
 
      var table_body = ""; 
 
      var count = 0; 
 
      $.each(data, function(k, v) { 
 
\t \t \t \t //JSON.stringify(j); // '{"name":"binchen"}' 
 
\t \t \t \t 
 
\t \t \t \t table_body += '<div id=Coun_'+count+'>'+v+'</div>'; 
 
\t \t \t \t 
 
       //table_body += "<tr><td id='FC_"+count+"'>" + k + "</td><td><b id='SC_"+count+"'>" + v + "</b></td></tr>"; 
 
       count++; 
 
      }); 
 
      $("#GeoResults").html(table_body); 
 
      var x = document.getElementById('Coun_1').innerHTML; /*= 'Dooone!!!'*/; 
 
\t \t \t console.log(x); 
 
     }); 
 
     </script> 
 
    </body> 
 
</html>

関連する問題