0

div に挿入される応答として HTML のチャンクを返す AJAX 要求があります。JavaScript を使用して、その AJAX 応答 HTML から DOM の要素を取得するにはどうすればよいですか? 返された HTML レスポンス div の最後に JavaScript がありますが、getElementById は null を返します。これは明らかに DOM が作成されておらず、通常の Web ページのように window.onload を使用できないためです。以下の例を参照してください。そして、これは JavaScript である必要があります - ライブラリではありません。

<div class="page-content extractAjaxContent" id="tableContent_AJAX">
<div id="name">Biff</div>
    <html:form action="/variableCostStatusPost" method="post">
     ....some JSP to produce HTML
    </html:form>
<script>console.log("Name is " + document.getElementById('name'));</script>
</div>
4

2 に答える 2

0

サポートする必要があるブラウザーに応じて、次の 2 つのオプションがあります。

  1. すべてのブラウザーをサポートする必要がある場合は、console.logコードを ajax 応答の後に呼び出される「成功」関数に入れます。これにより、div が ajax によって更新された後にのみ実行されるようになります。

  2. HTML5 互換のブラウザーのみをサポートする必要がある場合DOMNodeInsertedは、"name" div でイベントをリッスンし、 を介して変更する代わりにinnerHTML、html コード オブジェクトを作成して追加します。

于 2013-09-30T18:58:12.293 に答える