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


HTML (php, css, JS) - closing tag or inline comment being ignored

在此文本中

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

CCD_ 1正在浏览器(Chrome)内和iOS设备上显示。我的第一个猜测是从<div>中删除/,但随后>仍在浏览器中显示,我很难过!

解决方案?

编辑:

在与OP讨论后,发现仍然需要onclick方法,因此解决方案是使用<div class="foo" onclick="bar();"> </div>,其中没有"注释代码"。

原始答案:

尝试-<div class="foo" <?php /* onclick="bar();" */ ?> > </div>,这将导致<div class="foo"> </div>。请注意,整个内容都是由PHP过滤的。

对于JSP/ASP,请使用<%-- --%>样式的注释。<div class="foo" <%-- onclick="bar();" --%> > </div>

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

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

如果你想要一个评论,把它放在标签的末尾:

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

此外,div的开始标记末尾不应该有/>0字符

在HTML(5之前)中,它会关闭开始标记,因此您可以在数据中添加一个>字符。大多数浏览器都不尊重这一点(不过,您的问题是由于注释引起的)。

在HTML兼容XHTML中,这是被禁止的。

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

在HTML5中,IIRC是被禁止的。

注释(<!-- -->)是浏览器应该忽略的标记。

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