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

时间:2014-10-15 03:38:57

标签: javascript html

我有什么理由不能在HTML标记中插入注释吗?

示例:在HTML中(不可能)

 <img <!-- sample comment--> src="" alt="Sample Picture" class="img-circle center-block" />

在JavaScript中,可以轻松完成。

示例:在JS(可能)

verticalCentered: /* Sample Comment*/ true

请详细解释。

4 个答案:

答案 0 :(得分:5)

HTML最初正式定义为SGML的应用程序,注释语法来自SGML。 SGML使用两个连字符--作为注释分隔符,但它仅允许在某些上下文中进行注释。在这些上下文中,只有注释声明与HTML相关。 (好吧,理论上它们也允许在<!ENTITY foo "foo" -- Comment -- >之类的实体声明中,但实体声明从未在XHTML之前的任何浏览器中实现,而在XHTML中,遵循XML语法,实体声明不能包含注释。)

因此,注释只允许在注释声明中包含但不包含注释,例如

<!-- Comment one -- -- Comment two -->

浏览器实际上以简化(错误)方式实现了这一点,因此实际建议仅在包含单个注释的注释声明中添加注释:

<!-- Comment -->

注释声明与标签处于相同的结构级别,因此不能出现在标签中。 (注释也不能包含标签:任何以其他方式构成标签的内容,如<p>,在注释中都会被视为字符数据。)

以后的HTML版本中没有更改过。他们简化了这方面的语法,而不是扩展。

答案 1 :(得分:4)

如果您使用的是模板语言,您可以使用模板语言的评论机制来执行您想要的操作:<img {{! this is a comment }} src=...。这也有一个优点,即评论将在编译时删除,因此不会在评论中丢失HTML。

答案 2 :(得分:-2)

因为评论也是一个标签&amp;你不能在anther html标签里面写html标签。

答案 3 :(得分:-6)

您可以在html标签中插入评论。如果即时通讯使用netbeans,则可以在出现错误时禁用HTML错误检查