javascript
  • ajax
  • jquery
  • 2011-08-28 9 views 0 likes 
    0

    私は、動的に、このように作成されたリストがあります。そして、動的に作成javascriptの要素のIDを取得します

    inner += "<li class='linkstyl'> <a href='#"+tot+"' id='a"+tot 
         + "' style='text-decoration:none' onclick='addpoint(" 
         + results[0].geometry.location.lat()+"," 
         + results[0].geometry.location.lng()+")'> " 
         + results[0].formatted_address+"</a></li>" 
    

    私が使用していた:

    $("#showaddress").html(inner); // to insert it inside <ul> with id as showaddress . 
    

    私の問題があること、私はgetElementByIdしようとすると、この動的に作成された要素のうち はnull値を返します。
    この動的に作成された要素をどのように参照しますか?

    +0

    この要素を取得するコードを表示できますか?なぜjqueryセレクタを使用していないのですか? –

    +0

    getElementByIdを呼び出すために使用するコードも表示してください – HBP

    答えて

    0

    そのコードは正常に動作します。おそらく、ajaxリクエストが完了する前にgetElementById()を使用しようとしています。その時点で、要素はまだページには表示されません。それ以外の場合は、tot変数には、あなたが思うものが含まれていない可能性があります。

    これらの2つの点を確認してみてください。

    +0

    内側の要素はajax呼び出しの後に作成され、ちょうどconatins数値+ 1、+ 2、+ 3 .....のように生成されます.Iソース表示 コード、期待どおりに要素が作成されます。 – vaishakh

    0

    JavaScriptは非同期です。 要素を入手しようとしているときに要素がまだ利用できないことがあります。 ジオコーダーからの応答を取得するコールバック自体でセレクターを試してください。

    +2

    * javascriptは非同期です。* ...あまりにも一般的です。 'setTimeout'、' setInterval'やAjax呼び出しのような非同期の操作がありますが、それとは別にJavaScriptの実行は非常に線形です。 –

    関連する問題