例如:
<a /*title="need to be comment out"*/>a link</a>
根据W3C文档,这是不可能实现的:
请注意,注释也是标记。
这基本上意味着<!-- ...>
注释标签就像任何其他标签一样,因此<a <!--title="需要被注释掉"-->>a链接</a>
和<a <span></span>>a链接</a>
一样错误。
快速处理的常见方法是将该属性重命名。虽然您获得无效的HTML,但可以暂时删除该属性:
<a xtitle="need to be comment out">a link</a>
如果你正在使用服务器端语言,你也可以使用该语言自己的注释语法。例如,在 PHP 中,你可以这样做:
<a <?php/*title="need to be comment out"*/?>>a link</a>
...生成以下HTML:
<a >a link</a>
在 ASP.NET 中,你可以使用 <%-- 这里是注释 --%>
,而在 ASP.NET MVC 的 Razor 语法中则使用 @* 这里是注释 *@
。
data-
属性,例如<a data-xtitle="need to be comment out">a link</a>
,则不会获得无效的HTML,尽管许多最佳实践,包括Angular等大型框架的建议,都不赞成这样做。 - trysis<a<? php /* title="need to be comment out"*/ ?>>a link</a>
这样的方式来去除空格。 - trysis_x
。然后该属性将被忽略,因为它是未知的。所以,如果我想注释掉这个元素的 id
属性:<input type="text" name="name" id="name">
<input type="text" name="name" id_x="name">
_x=
”以查找所有被注释的属性。你无法在标签内部开始或结束评论。只能在标签外部进行。
有些人会在属性名前面加上x,从而改变它并导致其被忽略(因为它通常仍然在DOM中可见),但这是无效的。
不能直接删除属性,但是可以通过调用JavaScript中的removeAttribute(attribute_name)
函数来删除属性。
另外,您可以给要删除的属性添加命名空间,例如<a nosuchns:title="nevershown">click</a>
,然后通过JavaScript删除该命名空间。
//
)可以使用。 - Peter Mortensen<!
):*HTML5是否改变了HTML注释的标准?* - Peter Mortensen