我正在尝试组合一种标记 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 脚本找到它时,它会注入(inject)必要的 html 来创建一个带有图标的按钮以及所有必要的事件等。
但是,这很麻烦,需要很多长类名。我宁愿做这样的事情......
<a href="#" class="Theme-Button" data="{style: 'win2007', icon: 'left', align:'center', fullWidth: true}"></a>
在我看来,它并没有那么短,但更简洁,并且需要更少的解析。问题是,我对“expandos”做了一点研究,我相当确定有些浏览器不会喜欢它,也不会验证它。
有人有更好的建议吗?
最佳答案
继续为此使用一个属性,但在其上使用 data-
前缀。带有前缀 data-
的属性是 explicitly allowed在 HTML5 的所有元素上。示例:
<a href="#" class="Theme-Button" data-theme="{style: 'win2007', icon: 'left', align:'center', fullWidth: true}"></a>
它现在适用于所有浏览器,并且因为它现在是特定行为,所以它是面向 future 的。
关于jquery - 向 HTML 元素添加元数据的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1923278/