Element.innerHTML =
コンテンツの追加に element.innerHTML = ... を使用すると便利ですが、重大な問題が発生する可能性があります。パフォーマンスへの影響。これは、innerHTML が設定されるたびに、HTML を解析し、DOM を構築し、ドキュメントに挿入する必要があるためです。
これが問題になるのはなぜですか?
大量の複雑な HTML コンテンツを含む要素を考えてみましょう。 innerHTML に = 演算子を使用すると、変更されたのはほんの一部であっても、パーサーはこのコンテンツすべてを再度解析する必要があります。この過剰な解析により、ページのレンダリングが大幅に遅くなる可能性があります。
innerHTML =
の代替案 これらのパフォーマンスの問題を回避するには、次の代替案の使用を検討してください:
var newElement = document.createElement('div'); newElement.innerHTML = '<div>Hello World!</div>'; elm.appendChild(newElement);
var newElement = document.createElement('div'); newElement.innerHTML = '<div>Hello World!</div>'; elm.insertBefore(newElement, elm.firstChild);
ブラウザの最適化に関する注意:
innerHTML = は最適ではない可能性があります。一部のブラウザーはこの操作を最適化し、既存のコンテンツの再解析を回避する可能性があることに注意することが重要です。ただし、特にパフォーマンスが重要なアプリケーションの場合、この最適化に依存することはお勧めできません。
以上が「element.innerHTML =」の使用がパフォーマンスのボトルネックになるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。