1

PrototypeJSでは、複数のElementオブジェクトを要素に挿入するためのより効率的な方法はありますか?これが私が今持っているコードです:

var calendar_elem = new Element('div', {
    'id': 'my_calendar'
}).insert({
    bottom: title_elem   // assume these are all Element objects
}).insert({
    bottom: days_of_week_elem
}).insert({
    bottom: month_calendar_elem
}).insert({
    bottom: footer_elem
});

bottomインデックスに配列を含めることはできますか、それともHTMLの要素/文字列を1つだけ含める必要がありますか?edされている各要素のHTMLを取得し、それらを連結して、代わりにinsertそれを渡す方が効率的でしょうか?bottomありがとう!

4

2 に答える 2

1

Domの操作は、変更のたびにページの再描画/リフローが発生するため、コストがかかります。HTMLを文字列として(またはメモリ内に)構築し、それらをすべて一度にDOMに挿入するのが最善です。

于 2013-03-11T18:14:59.093 に答える
0

質問を投稿してから数分後に私が考えた解決策の1つを次に示します。

[title_elem, days_of_week_elem, ...].each(function(obj)
{
    calendar_elem.insert({
        bottom: obj
    });
});

しかし、私はこれを行うためにPrototypeJSに組み込まれているメソッドを望んでいました。これがコードをより効率的にする唯一の方法である場合は、私に知らせてください。ありがとう。

于 2013-03-11T18:14:46.447 に答える