当涉及到标签上的非标准属性时,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>
但是,我对于应该使用哪种方法感到不满意。第一种方法更简洁,我猜想,它不会像搜索引擎和屏幕阅读器那样费劲。相反,第二种选择使存储大量数据更加容易,因此用途更广。它也符合标准。
我很好奇这些社区的想法。您如何处理这种情况?第一种方法的简单性是否超过潜在的缺点(如果有)?