3

JavaScript を使用して HTML セクションを作成したいので、2 つのオプションがあります。

  1. createElement()関数を使用して HTML 要素を作成できます。

    document.createElement('div');
    
  2. 文字列のような要素を直接作成でき"<div>Test</div>"ます。

性能的にはどちらが優れていますか?

4

4 に答える 4

2

ちょっと話が逸れますが、innerHTMLを使う人なら重要なポイントだと思います

これは非常に間違っています:

container.innerHTML = "<div>";
container.innerHTML += "Hello ";
container.innerHTML += "World";
container.innerHTML += "</div>";

本当に文字列を作成する必要がある場合は、html が完成したときにのみ追加します。不完全な html でパーサーを複数回呼び出したくはありません。

var html;
html = "<div>";
html += "Hello ";
html += "World";
html += "</div>";

container.innerHTML = html;

もう 1 つのポイントは、innerHTML がすべてを再度解析し、コンテナー内の要素に関連付けられているイベント ハンドラーをすべて削除することです。

container.innerHTML += moreContent; //previous content lost their event handlers

DOM を使用すると、それについて心配する必要はありません。新しいコンテンツのみが解析されます。

container.appendChild(moreContent);
于 2013-09-21T17:12:09.707 に答える