Element.innerHTML =
element.innerHTML = ... を使用して HTML コンテンツを要素に追加するのは便利なように思えるかもしれません。ショートカットですが、パフォーマンスの問題や予期しない動作が発生する可能性があります。
なぜ悪いのかコード
element.innerHTML に新しい値を割り当てると、既存の HTML は完全に置き換えられます。これにより、ブラウザによるサブツリー全体の再解析がトリガーされますが、要素に大量の複雑な HTML が含まれている場合、コストがかかる可能性があります。再解析により次の可能性があります。
innerHTML の代替案=
代わりに、appendChild() を使用して、既存の要素の末尾に新しい要素を追加します。例:
var newElement = document.createElement('div'); newElement.innerHTML = '<div>Hello World!</div>'; element.appendChild(newElement);
このアプローチにより、既存の HTML が保持され、再解析が発生しません。
最適化に関する注意
一部のブラウザinnerHTML = の使用時に再解析を防止する最適化が行われる場合があります。ただし、一貫性とパフォーマンス上の理由から、この方法は避けることをお勧めします。
以上が`element.innerHTML =` の使用が悪い習慣とみなされるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。