2

私の質問は次のとおりです。

コンテナを挿入する最良の方法と<div>、最後に挿入されたコンテナの次の方法は何ですか?

<div class="pane">
    <div class="inhoud">
        <h3>Sample heading</h3>
        <p>Testbericht.</p>
    </div>
    <form id="noteform" class="frm">
        <input type="image" src="images/kn_verwijder.gif" alt="delete" class="delete" />
        <br />
        <input type="hidden" name="frmnoteid" id="frmnoteid" value="" />
    </form>
</div>

私がこれまでに知っていること:

  • $("#foo > div").size() および.insertAfter()メソッドを使用して、ページに既に存在する div の数をカウントします。
  • セレクターと.load()メソッドを使用して、ファイルから html データをロードします。

問題は、これらの方法を適切に使用して結果を得ることができるかどうかわからないことです。

誰かがすでにこれらの経験をしたことがあるとしたら?

4

2 に答える 2

0

あなたが何をしようとしているのかはよくわかりませんが、次のようなことができます...

load() を使用する代わりに、$.get() を使用して html を挿入せずにロードし、success コールバックを使用してページに追加します。そうすれば、ラッパー div の作成について心配する必要はありません。HTML ページ tbnote.html に適切なマークアップを追加するだけです。

function newnote() {
    $.get("tbnote.html", function(html) {
        if($(.pane).length > 0) { \\test  there is already .pane div on page
            $(".pane:last").after(html);
        } else {
            $("#someOtherDiv").append(html); \\append to another div
        }
    });
}

after()は、html 応答を解析し、選択した要素の後に、それを dom に挿入します。

$.getを使用すると、より高度な処理を実行して、テンプレートでクエリ文字列またはデータを受け入れ、ページをレンダリングする前にそれを html にプラグインできるようにすることもできます。

于 2009-07-06T18:06:46.553 に答える
0

これは最後に疑似セレクターを使用$(".divtogoafter:last").append("content to insert"); するため、最後のdivがデータ​​の後に挿入されます。

于 2009-05-06T22:13:57.413 に答える