我有什么理由不能在HTML标签内插入注释吗?
示例:在HTML中(不可能)
<img <!-- sample comment--> src="" alt="Sample Picture" class="img-circle center-block" />
Run Code Online (Sandbox Code Playgroud)
在JavaScript中,它可以很容易地完成.
示例:在JS中(可能)
verticalCentered: /* Sample Comment*/ true
Run Code Online (Sandbox Code Playgroud)
请详细解释.
HTML最初被正式定义为SGML的应用程序,注释语法来自SGML.SGML使用两个连字符--作为注释分隔符,但它仅允许在某些上下文中进行注释.在这些上下文中,只有注释声明与HTML相关.(嗯,理论上它们也允许在实体声明中使用<!ENTITY foo "foo" -- Comment -- >,但实体声明从未在XHTML之前的任何浏览器中实现,而在XHTML中,遵循XML语法,实体声明不能包含注释.)
因此,注释仅允许在注释声明中包含除注释之外的任何注释,例如
<!-- Comment one -- -- Comment two -->
Run Code Online (Sandbox Code Playgroud)
浏览器实际上部分地以简化(错误)方式实现了这一点,因此实际建议仅在包含单个注释的注释声明中进行注释:
<!-- Comment -->
Run Code Online (Sandbox Code Playgroud)
注释声明与标签处于相同的结构级别,因此不能出现在标签中.(注释也不能包含标签:否则构成标签的任何内容都会<p>在注释中作为字符数据使用.)
这在以后的HTML版本中没有改变.他们简化了这方面的语法,而不是扩展.