有什么原因导致我无法在 HTML 标记内插入注释吗?
示例:HTML 格式(不可能)
<img <!-- sample comment--> src="" alt="Sample Picture" class="img-circle center-block" />
而在 JavaScript 中,这可以轻松完成。
示例:JS 中(可能)
verticalCentered: /* Sample Comment*/ true
请详细解释一下。
HTML 最初被正式定义为 SGML 的应用,并且注释语法取自 SGML。 SGML 使用两个连字符--
作为注释分隔符,但它仅允许在某些上下文中进行注释。在这些上下文中,只有注释声明与 HTML 相关。 (嗯,理论上它们也可以在实体声明中使用,例如<!ENTITY foo "foo" -- Comment -- >
,但实体声明从未在 XHTML 之前的任何浏览器中实现,并且在 XHTML 中,遵循 XML 语法,实体声明不能包含注释。)
因此,注释只允许出现在只包含注释的注释声明中,例如
<!-- Comment one -- -- Comment two -->
浏览器实际上以简化(错误)的方式部分实现了这一点,因此实际建议是仅在包含单个注释的注释声明中包含注释:
<!-- Comment -->
注释声明与标签处于相同的结构级别,因此不能出现在标签内。 (注释也不能包含标签:任何可能构成标签的内容,例如<p>
,在评论中被视为字符数据。)
这在以后的 HTML 版本中没有改变。他们简化了此类问题的语法,而不是扩展。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)