-1

我知道一个网页有一个隐含的<head>标签,即使文件中没有声明。我只是对getElementsByTagName('head')没有测试的测试感到好奇,它确实返回了一个<head>标签。

但是,当我在页面中放置多个时<head>......它会返回一个统一的头部。为什么是这样?

4

2 回答 2

1

这是因为浏览器“更正”您的 HTML 以始终包含单个<head>. 否则您的 HTML 无效。

于 2012-04-08T07:01:01.193 回答
1

据说 HTML 解析器对解析和评估 HTML 时的错误非常宽容(我听说这个功能使它们更快,不确定)。无论你给出什么,它都会解析它而不会出现任何错误,试图接近你的意思。所以你应该只有一个头部元素。浏览器会将其更改为正确的形式,具体取决于实现。因此,当 javascript 执行时,它会在更正后返回现有head元素。

于 2012-04-08T07:14:43.007 回答