innerHTML = ... vs appendChild(txtNode)
HTML 要素のコンテンツを変更する場合、開発者はよく次のいずれかを使用します。 「innerHTML = ...」または「appendChild(txtNode)」メソッド。どちらの手法でも、既存のノードに新しいコンテンツが追加されますが、基礎となるメカニズムと DOM への影響が異なります。
innerHTML = ...
このメソッド指定された HTML 文字列をターゲット要素の innerHTML プロパティの末尾に追加します。これには、HTML 文字列の解析、DOM ノードの作成、およびそれらの既存のノードへの挿入が含まれます。このプロセスはリフローをトリガーします。これは、ブラウザーが変更された要素とその子孫のレイアウトを再計算することを意味します。
appendChild(txtNode)
このメソッドは pre を受け取ります。 -DOM ノード (通常は TextNode) を作成し、それをターゲット要素の子として挿入します。 HTML 文字列の解析を回避し、DOM ツリーを直接変更します。このアプローチでは、挿入されたノードのサイズが大きいか、レイアウトに何らかの影響を与えない限り、リフローは発生しません。
比較
結論として、コンテンツを追加するには、appendChild が推奨されるメソッドです。または、既存の参照を維持することが重要な場合は DOM ノードを変更します。ただし、特定の状況 (要素の後の単純なコンテンツ挿入など) では、innerHTML がパフォーマンス上の利点をもたらす場合があります。コンテンツを置き換えたり、複雑な HTML を挿入したりする場合は、DOM 操作を直接使用する方が適切な場合があります。
以上がinnerHTML = ... vs appendChild(txtNode): それぞれをいつ使用する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。