2009-05-18 8 views
0

ループを使用して別々のDIV要素を後ろに挿入する方法はありますか?jqueryでループを使用するメソッドの後にドキュメントを挿入できない

今私はちょうどそれを行うためにループを使用していますが、loadメソッドの前に が挿入されたDIVは覚えていません。その結果、私は最後のものしか見ることができません。

コードは、 が最初にページに到着したときにdb-idでCookieを読み取った後に、すべてのメッセージを表示するためのものです。

要約:

addmessage()関数は、XMLオブジェクトを受け取り、それをループを開始します。各別のメッセージはnewnote()関数を呼び出します。この関数はDIV要素を読み込み、db-idのようにコールバック関数を実行します。その後、addmessage関数に戻ります。

答えて

1

どのような方法でDIVを挿入しますか?使用しているコンテナの末尾にすべて追加するだけの場合は、appendを使用します。あなたがループし、必要でこれをやっている場合は

$('#itemTwo').after("<div>New node</div>"); 

:あなたが特定の場所でそれらを必要とする場合は、itemTwo後に何かを挿入するために必要な場合、私はbeforeまたはafter

<div id="container"> 
    <div id="itemOne"></div> 
    <div id="itemTwo"></div> 
    <div id="itemThree"></div> 
</div> 

を使用したいですitemTwo(たとえば)の後にそれらを順番に追加し続けるには、最後に挿入された要素への参照を格納してから、after関数を使用するか、itemThreeの前に挿入してください。

+0

問題は、私はすでに別々のnewnote()関数内のloadメソッド 負荷方式負荷1つのノートオフコールバックでメソッドの後に使用していますということです –

0

問題が最後のDIVを見つけたと仮定すると、last DIVを検索して、それをafterと置き換えることができます。

+0

これらの関数の外の参照に格納する、あなたが意味ですかファイル 問題は私もこの関数をループしていますが、newnote()を呼び出すと最後の挿入されたノートも失われています main関数addmessageから関数 私は、しかし、それはloadmethodをコールバックで処理することで解決されました。今度は、ループ内に複数のノートを作成する必要があります。 –

0

私はこの

index = $("div.paneltbnote").size(); 

ようなセレクタと番号オフ新たに追加された要素をカウントしようと提案オフ基準

を有する、上記の助けを借りて、溶液、 を発見結果は常に0

ですが、明示的にnewnote()関数にインデックス番号を与えると、それは想定されているように機能します。関数の余分な引数としてこれを使用しました。

セレクタは、関数自体の中で新たに追加された要素を数えることはできません。 少なくとも、それは私の理解でしかありません。