当涉及到标签的非标准属性时,HTML(或者只是 XHTML?)相对严格。如果它们不是规范的一部分,那么您的代码将被视为不合规。
然而,非标准属性对于将元数据传递给 Javascript 非常有用。例如,如果假设链接显示弹出窗口,您可以在属性中设置弹出窗口的名称:
<a href="#null" class="popup" title="See the Popup!"
popup_title="Title for My Popup">click me</a>
或者,您可以将弹出窗口的标题存储在隐藏元素中,例如跨度:
<style>
.popup .title { display: none; }
</style>
<a href="#null" title="See the Popup!" class="popup">
click me
<span class="title">Title for My Popup</span>
</a>
然而,我对哪种方法应该是首选方法感到困惑。第一种方法更简洁,我猜它不会像搜索引擎和屏幕阅读器那样乱七八糟。相反,第二个选项使存储大量数据更容易,因此更通用。它也符合标准。
我很好奇这个社区的想法是什么。你如何处理这样的情况?第一种方法的简单性是否超过了潜在的缺点(如果有的话)?