在此文本中
<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标记中移出。