HTML5   发布时间:2022-04-25  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了HTML5入门教程:自定义数据大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

学习HTML5http://www.maiziedu.com/course/web/228-2627/中,会遇到这样一个需求,针对不同view上的input,对其inputvalue加上特定的修饰符(~~, {}等)。

一看到这个,我的直觉就是在JS中判断view类型,然后根据类型为取得的input value添加这个修饰符。但lead跟我说这样做必须引入大量的条件判断,并使业务逻辑和特定的view tight coupling。他告诉我可以针对不同的DOM使用自定义data来存储这些修饰符,于是就可以写一个抽象、通用的方法了。

让我们一起来看看这个非常有用的data属性吧。曾几何时,当我们需要存储一些与DOM相关的元数据的时候,我们只能选择classrel作为媒介:

<div id="msglist" class="user_bob list-size_5 maxage_180"></div>

这会让class过于臃肿,而且使用JS解析这个class属性,取出其中的值也比较复杂,容易出错。于是在HTML5中,我们有了data属性解决这个问题。同样的元数据,现在可以用data-前缀引导来命名:

<div id="msglist" data-user="bob" data-list-size="5" data-maxage="180"></div>

注意data-前缀是必须的,否则数据可能会被浏览器忽略。自定义data-属性可以存储任何合法的string包括JSON。所有的data数据都属于页面私有,不会被搜索引擎等外部系统引用。好了,数据保存进去了,怎么对这些元数据进行操作呢?可以看到,data-属性本质上还是DOM属性,因此常见的getAttributesetAttribute对他们同样适用。但在HTML5中有一个更方便的API对其进行操作,这就是dataset APIdataset返回一个DOMStringMap对象,其中包含了所有的自定义data属性的值。在这个对象中,属性名中的data-前缀被自动去掉了,而-连接符也被自动转化为驼峰连接,更符合JS的习惯:data-user => userdata-list-size => listSize使用dataset可以非常方便的对data属性进行操作了:

var msglist = document.getElementById("msglist");var size = msglist.dataset.listSize;

msglist.dataset.listSize = +size + 3;

除了你们知道的那个谁,其他现代浏览器都支持dataset API了。真喜欢那个谁能借着新版本迎头赶上啊!

大佬总结

以上是大佬教程为你收集整理的HTML5入门教程:自定义数据全部内容,希望文章能够帮你解决HTML5入门教程:自定义数据所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: