这可能是一个愚蠢的问题,但我在设计阶段检查所有内容的语义正确性。
例如,有了这个
<a href="..." id="page" <?php if (false) echo 'name="test"'; ?> class="pageWidth">
......我相信它会产生:
<a href="..." id="page" class="pageWidth">
...注意id属性和class属性之间有一个额外的空格。
现在,愚蠢的语义问题:这在语义上是否正确?属性是否有额外的空间而根本不重要?
答案 0 :(得分:2)
根据w3.org:
属性必须通过一个或更多空格字符彼此分开。
因此,在两个属性之间包含额外空格仍然是有效的HTML 但我不认为格式化会影响标记的semantics本身。
话虽如此,如果您愿意,也不难删除多余的空间 我有时使用ternary operator生成如下输出:
<a href="..." id="page"<?= false ? ' name="test"' : '' ?> class="pageWidth">