我试图组合一个标记HTML中的各种组件的方法,该组件将被jQuery脚本解析,并在页面加载时创建.
例如,目前我可以把以下内容放在我的网页上
<a href="link.html" class="Theme-Button Theme-Button-Style-win2007 Theme-Button-iconLeft Theme-Button-AlignmentCenter Theme-Button-fullWidth">This is a button</a>
当jQuery脚本找到它时,它将注入必需的HTML,以创建一个带有图标的按钮和所有必要的事件等.
然而,这是凌乱的,需要很多长类的名字.我宁愿做这样的事情
<a href="#" class="Theme-Button" data="{style: 'win2007',icon: 'left',align:'center',fullWidth: true}"></a>
这不是那么短,但在我看来更细,需要较少的解析.麻烦的是,我已经对“expandos”做了一些研究,我相当肯定一些浏览器不会喜欢它,它不会验证.
有人有更好的建议吗
解决方法
继续使用这个属性,但在其上使用数据前缀.具有前缀数据的属性 – 对于HTML5的所有元素都是
explicitly allowed.例:
<a href="#" class="Theme-Button" data-theme="{style: 'win2007',fullWidth: true}"></a>
它在所有浏览器中工作(尽管W3验证器可能会投诉,因为它的HTML5支持还没有准备好进行黄金时段),并且因为它现在已经被指定了行为,这是未来的.