HTML(php、css、JS)-关闭标记或内联注释被忽略

HTML(php、css、JS)-关闭标记或内联注释被忽略,php,html,inline,comments,Php,Html,Inline,Comments,在本文中 <div class="foo" <!-- onclick="bar();" --> /></div> / />将在浏览器(Chrome)和iOS设备上显示。我的第一个猜测是从中删除,但是仍然显示在浏览器中,我真倒霉 解决方案 编辑: 与OP讨论后,发现仍然需要onclick方法,因此解决方案是使用,而不使用其中的“注释代码” 原始答案: 请尝试编辑: 与OP讨论后,发现仍然需要onclick方法,因此解决方案是使用,而不使用其中的“注释代码”

在本文中

<div class="foo" <!-- onclick="bar();" --> /></div>
/
/>
将在浏览器(Chrome)和iOS设备上显示。我的第一个猜测是从
中删除
,但是
仍然显示在浏览器中,我真倒霉


解决方案

编辑:

与OP讨论后,发现仍然需要onclick方法,因此解决方案是使用
,而不使用其中的“注释代码”

原始答案:


请尝试编辑:

与OP讨论后,发现仍然需要onclick方法,因此解决方案是使用
,而不使用其中的“注释代码”

原始答案:


请尝试删除注释。我的猜测是浏览器将注释close解释为结束标记。只需将整个div放入注释中,并在下面添加不同的版本。

删除注释。我的猜测是浏览器将注释close解释为结束标记。只需将整个div放在注释中,下面是另一个版本。

标签中禁止注释,因此您的HTML是错误的

如果需要注释,请将其放在标记末尾:

<div class="foo"> <!-- onclick="bar();" --> </div>

此外,div的开始标记末尾不应包含
/
字符

在HTML(5之前)中,它关闭开始标记,因此可以向数据中添加
字符。大多数浏览器都不尊重这一点(但你的问题是由于评论)

在HTML兼容的XHTML中是禁止的

在XHTML中,它使div成为一个自动关闭标记,因此结束标记没有匹配的开始标记


在HTML5中,IIRC是禁止的。

标签中禁止注释,因此您的HTML是错误的

如果需要注释,请将其放在标记末尾:

<div class="foo"> <!-- onclick="bar();" --> </div>

此外,div的开始标记末尾不应包含
/
字符

在HTML(5之前)中,它关闭开始标记,因此可以向数据中添加
字符。大多数浏览器都不尊重这一点(但你的问题是由于评论)

在HTML兼容的XHTML中是禁止的

在XHTML中,它使div成为一个自动关闭标记,因此结束标记没有匹配的开始标记

在HTML5中,IIRC是禁止的。

注释(
)是浏览器应该忽略的标记

在这种情况下,您的标记是无效的,因为您以无效的方式将标记嵌套在标记中。您需要删除“
onclick=“bar()””或将整个注释从开始的div标记中移出。

注释(
)是浏览器应该忽略的标记


在这种情况下,您的标记无效,因为您以无效的方式将标记嵌套在标记中。您需要删除“
onclick=“bar();
”或将整个注释从开始的div标记中移出。

仍然可见。是吗?它在IE中不起作用,所以我更新了我的答案,使用
,这是胡说八道(除非,也许,你是在写ASP而不是HTML。我不知道ASP注释语法)。这取决于浏览器对HTML的错误处理。@Quentin虽然我没有在ASP/JSP上测试它来解决这个问题,但我很确定
不会被发送到浏览器。在编译过程中它们会被过滤。既然如此,为什么不在div标记中使用
而不使用
?它也会工作。
仍然可见。是吗?它在IE中不起作用,所以我更新了我的答案,使用
,这是胡说八道(除非,也许,你是在写ASP而不是HTML。我不知道ASP注释语法)。这取决于浏览器对HTML的错误处理。@Quentin虽然我没有在ASP/JSP上测试它来解决这个问题,但我很确定
不会被发送到浏览器。在编译过程中它们会被过滤。既然如此,为什么不在div标记中使用
而不使用
?它也会起作用。它实际上不是一个标记,尽管你是对的,评论不允许出现在那里。它实际上不是一个标记,尽管你是对的,评论不允许出现在那里。