我无法在HTML标记内插入注释的原因?

Car*_*doc 3 html javascript

我有什么理由不能在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)

请详细解释.

Juk*_*ela 5

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版本中没有改变.他们简化了这方面的语法,而不是扩展.