2

DOM ツリーの作成方法HTML5 仕様: 8.2.1 解析モデルの概要 を読んでいるときに、疑問が頭に浮かびましたが、答えが見つかりませんでした。

仕様によると、使用document.writeは悪く、他の問題とは別に、解析を一時停止し、トークナイザー入力に新しい文字を提供します。

問題は、DOM API を使用するとどのように見えるかということです。appendChild. いつ実行されますか?

私が理解している限り、これは既に作成されたものを追加するNodeため、解析とトークン化は必要ありません。ただし、新しいノードはすぐにアタッチされますか、それとも「最初/元の」DOM ツリーを構築した後ですか?

4

1 に答える 1

3

これは、その時点での状態に関係なく、DOM に対して即座に発生します。DOM ドキュメントは常に一貫したツリーを形成するため、いつでも安全に追加できます。

その点では、要素の追加は常に無害ですが、解析中に DOM ドキュメントから要素を削除すると、古い IE バージョンをクラッシュさせる良い方法でした。実際、この問題は、IE が IE10 に HTML5 解析アルゴリズムを実装するまで、ある程度続いていました。

于 2016-09-10T11:02:40.297 に答える