使用ID属性关闭标记

时间:2012-01-16 22:12:57

标签: html closures w3c doctype w3c-validation

问题:如果我以这种方式关闭任何html标记(包括id属性):

<div id="tagid" >...more html
...
</div id="tagid" >

它会影响页面,还是不喜欢它,或者破坏任何W3C规则......我怎么能把它...它会以任何方式影响它?

为什么?:只是个人偏好。
我没有在标签旁边写下额外的评论,而只是添加id以帮助我知道标签是什么关闭 - 标签是否以任何方式关闭,所以我猜它不会做任何事情(或者我认为)

PS。仅供参考,我是初学者

4 个答案:

答案 0 :(得分:16)

不,这是无效的。

虽然它可能不会破坏您的代码,但它可以!

您应该只使用评论

</div> <!-- closing main content div -->


检查完毕后,

<div></div id="tagid" >

中断验证器

http://validator.w3.org/#validate_by_input


虽然未明确提及为非法,但HTML规范仅提及attributes出现在开始代码中:

  

元素可能具有关联的属性,称为属性,可以   具有值(默认情况下,或由作者或脚本设置)。   属性/值对出现在最后的“&gt;”之前一个元素的   开始标记。任意数量的(合法)属性值对,以。分隔   空格,可能出现在元素的开始标记中。

http://www.w3.org/TR/html4/intro/sgmltut.html#h-3.2.2

答案 1 :(得分:2)

这里是如何关闭div:

<div id="tagid" ></div>

如果您想要识别标签的结束位置,您只需添加注释即可:

<div id="tagid" >
   ...
</div><!-- Tagid Ends here -->

答案 2 :(得分:1)

在HTML / XML中,属性只能放在元素的开始标记中。你正在制作无效的HTML。

答案 3 :(得分:1)

stackoverflow中引用我的其他答案:

最近不得不对旧代码执行维护,我发现在div标签的末尾使用注释确实很难注释掉大部分代码,这要归功于HTML没有可嵌套的注释标记。所以,我养成了在大块div结束时将注释修改为隐藏跨度的习惯。

<div class="modal fade" id="dialog_edit_group">
    <div class="modal-dialog">
        <div class="modal-content">
            ...HTML content here...
        </div><span title=".modal-content" HIDDEN></span>
    </div><span title=".modal-dialog" HIDDEN></span>
</div><span title=".modal #dialog_edit_group" HIDDEN></span>
<!--
<div class="modal fade" id="dialog_edit_group_OLD">
    <div class="modal-dialog">
        <div class="modal-content">
            ...HTML content here...
        </div><span title=".modal-content" HIDDEN></span>
    </div><span title=".modal-dialog" HIDDEN></span>
</div><span title=".modal #dialog_edit_group_OLD" HIDDEN></span>
-->

我把“HIDDEN”HTML5属性放在那里,所以如果其他人修改它并因某种原因添加文本,内容通常会保持隐藏状态。我做了所有大写,以便它能够更加突出,好像在喊“在这里评论!”。是的,它确实创建了一个DOM元素,现在必须由浏览器维护,但在重度活跃的网站开发过程中需要付出很小的代价。

使用“end div comments”符合HTML标准,使我具有更高的可读性,并允许我使用HTML注释标记禁用页面的大块以帮助开发。也许它对其他人也有用。