html5新增属性中data-role属性是什么?

jQuery Mobile (html5)开发入门教程_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
16页免费100页2下载券11页1下载券51页免费16页免费 52页4下载券23页免费33页免费10页免费19页免费
喜欢此文档的还喜欢227页1下载券14页免费31页免费51页免费82页免费
jQuery Mobile (html5)开发入门教程|H​T​M​L开​发​入​门​教​程
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢人们总喜欢往HTML标签上添加自定义属性来存储和操作数据。但这样做的问题是,你不知道将来会不会有其它脚本把你的自定义属性给重置掉,此外,你这样做也会导致html语法上不符合Html规范,以及一些其它副作用。这就是为什么在HTML5规范里增加了一个自定义data属性,你可以拿它做很多有用的事情。
你可以去读一下HTML5的详细规范,但这个自定义data属性的用法非常的简单,就是你可以往HTML标签上添加任意以&"data-"开头的属性,这些属性页面上是不显示的,它不会影响到你的页面布局和风格,但它却是可读可写的。
下面的一个代码片段是一个有效的HTML5标记:
&div id="test" data-myid="3e4ae6c4e"&test data&/div&
可是,怎么来读取这些数据呢?你当然可以遍历页面元素来读取你想要的属性,但jquery已经内置了方法来操作这些属性。使用jQuery的.data()方法来访问这些"data-*"属性。其中一个方法就是&.data(obj),这个方法是在&jQuery1.4.3版本后出现的,它能返回相应的data属性。
举个例子,你可以用下面的写法读取&data-myid属性值:
var myid= jQuery("#test").data('myid');
console.log(myid);
你还可以在"data-*"&属性里使用json语法,例如,如果你写出下面的html:
&div id="test-json" data-test='{"game":"on"}'&&/div&
你可以通过js直接访问这个数据,通过json的key值,你能得到相应的value:
var gameStatus= jQuery("#test-json").data('test').
console.log(gameStatus);
你也可以通过.data(key,value)方法直接给"data-*"&属性赋值。一个重要的你要注意的事情是,这些"data-*"&属性应该和它所在的元素有一定的关联,不要把它当成存放任意东西的存储工具。
通过支持html5的浏览器中的js代码也可以获取相应的值,例如:
&div data-author="david" data-time=""
data-comment-num="10"
data-category="javascript"&
获取js代码
var post = document.getElementsByTagName('div')[0];
post. // DOMStringMap
mentN // 10
需要注意的是,data-之后的以连字符分割的多个单词组成的属性,获取的时候使用驼峰风格。
补充:尽管"data-*"&是HTML5才出现的属性,但jquery是通用的,所以,在非HTML5的页面或浏览器里,你仍然可以使用.data(obj)方法来操作"data-*"&数据。
转载请注明:
阅读(...) 评论()HTML5&data-&属性
Resig在2008年在其博客中介绍过HTML5的data-属性,现如今HTML5在如火如荼地推广,似乎国内的技术有些延迟,这篇博文可以在找到。
data-为前端开发者提供自定义的属性,这些属性集可以通过对象的dataset属性获取,不支持该属性的浏览器可以通过getAttribute方法获取。ppk提到过使用rel属性,lightbox库推广了rel属性,HTML5提供了data-做替代,这样可以更好地使用自定义的属性。
&div data-author="david" data-time=""
data-comment-num="10"
data-category="javascript"&
上面HTML代码提供了单个文章所拥有的一些属性。通过JS代码可以获得这些自定义的属性。
var post = document.getElementsByTagName_r('div')[0];
post. // DOMStringMap
mentN // 10
需要注意的是,data-之后的以连字符分割的多个单词组成的属性,获取的时候使用驼峰风格。
并不是所有的浏览器都支持.dataset属性,测试的浏览器中只有Chrome和Opera支持。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 html5新增属性 的文章

 

随机推荐