最佳答案
HTML (或者仅仅是 XHTML?)对于标签上的非标准属性相对严格。如果它们不是规范的一部分,那么您的代码就被认为是不兼容的。
但是,非标准属性对于将元数据传递给 Javascript 相当有用。例如,如果一个链接应该显示一个弹出窗口,您可以在属性中设置弹出窗口的名称:
<a href="#null" class="popup" title="See the Popup!"
popup_title="Title for My Popup">click me</a>
或者,您可以将弹出窗口的标题存储在一个隐藏元素中,比如 span:
<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>
然而,对于哪种方法更好,我感到很纠结。第一种方法更简洁,而且我猜测,不会对搜索引擎和屏幕阅读器造成太大的影响。相反,第二个选项使存储大量数据变得更加容易,因此更加灵活。它也符合标准。
我很好奇这个社区是怎么想的。你是怎么处理这种情况的?第一种方法的简单性是否大于潜在的缺点(如果有的话) ?