HTML 4.01中的“专有”HTML标记

时间:2010-03-07 16:01:26

标签: javascript html dom

我的上一家公司,专门使用4.01 DOCTYPE,决定以

形式使用专有标签添加一些新功能
<pp:foo attrOne="something" attrTwo="something else"/>

在.aspx页面中用于某些目的。一开始他们打破了很多Javascript,直到我怀疑当这些专有标签是自动关闭时,它们(在某些情况下)导致文档的其余部分被解释为该元素的子元素。 (我应该补充一点,在任何情况下我都不习惯在4.01中使用专有标签,但是这个决定是在我的工资等级之上做出的。)

根据我的预感,我建议他们将此更改为

<pp:foo attrOne="something" attrTwo="something else"></pp:foo>

所有破坏的Javascript DOM操作再次回来了。我无法在任何地方找到任何关于这种行为的参考,修复它只是我的一个幸运的猜测。我的问题是,有谁知道为什么这应该是?

2 个答案:

答案 0 :(得分:3)

您遇到此问题是因为HTML 4.01不支持第一个示例中的自动关闭代码。

答案 1 :(得分:3)

W3C html validator给出了一些解释:

  

序列&lt; FOO /&gt;可   解释至少两种不同的   方式,取决于的DOCTYPE   文档。
  对于HTML 4.01严格,   '/'终止标签&lt; FOO(带有   暗示'&gt;')   但是,很多   浏览器不会这样解释,   即使存在HTML 4.01   严格的DOCTYPE,最好避免它   完全在纯HTML文档和   仅保留其用途   用XHTML编写。