2012-04-08 6 views
-1

ファイルに宣言されていない場合でもWebページに暗黙の<head>タグが含まれています。 getElementsByTagName('head')が存在しない場合には<head>タグが返ってきたときに私はちょうど興味がありました。getElementsByTagName( 'head')は、ページにmoreが定義されていても1つのheadを返します。

ただし、ページに複数の<head>を置いた場合は、統一されたヘッドが返されます。どうしてこれなの?

答えて

1

これは、ブラウザがHTMLを常に「修正」して、常に1つの<head>を含むためです。さもなければあなたのHTMLは無効です。

1

HTMLパーサーは、解析とHTML評価のエラーについて非常に寛容であると言われています。あなたが与えるものは何でも、あなたが意味するものに近づこうと間違いなくそれを解析します。だからあなたは1つのヘッド要素を持つことになっています。ブラウザは、実装に応じて正しい形式に変更します。したがって、javascriptを実行すると、修正後に既存のhead要素が返されます。

関連する問題