现在我正在做各种无效的事情,比如:
<span time="50" distance="60"></span>
Run Code Online (Sandbox Code Playgroud)
然后抓住这些信息:
var time = $('span').attr('time');
var distance = $('span').attr('distance');
Run Code Online (Sandbox Code Playgroud)
然后用jS/jQuery中的时间和距离做各种事情.
对我来说,这感觉不对.这是语义上的,但我真的不在乎(实际的数据不是时间和距离,而是一些非常无价值和页面特定的东西,没有SE感兴趣的东西).但还有其他一些原因导致这是一个坏主意吗?
我知道有一个元数据插件,它以更"官方"的方式执行类似的操作,我考虑过使用它.但是这个.attr的东西适合我的需要,我没有看到使用插件的任何令人信服的理由.
所以基本上,这是一个体面的模式,如果没有,为什么不,我应该对元数据插件感兴趣.
谢谢.
HTML5包括支持在向后兼容的属性中嵌入数据.这是一个例子:
<li class="user" data-name="John Resig" data-city="Boston"
data-lang="js" data-food="Bacon">
<b>John says:</b> <span>Hello, how are you?</span>
</li>
Run Code Online (Sandbox Code Playgroud)
Useragents可能会将.dataset的想法实现为javascript,这很容易让你单独提取数据位,但现在只需改变你的类来包含数据就足够了.这将验证为HTML5.
对我而言,这比元数据jquery的想法要好得多 - 这对我来说似乎是愚蠢的.